小编Adr*_*ica的帖子

使用“memcpy”复制二维数组在技术上是未定义的行为吗?

在对这个最近问题的评论中出现了一个有趣的讨论:现在,虽然那里的语言是C,但讨论已经转向C++标准所指定的内容,即使用 a 访问多维数组的元素时构成未定义行为的内容。功能类似于std::memcpy.

\n

首先,这是该问题的代码,已转换为 C++ 并const尽可能使用:

\n
#include <iostream>\n#include <cstring>\n\nvoid print(const int arr[][3], int n)\n{\n    for (int r = 0; r < 3; ++r) {\n        for (int c = 0; c < n; ++c) {\n            std::cout << arr[r][c] << " ";\n        }\n        std::cout << std::endl;\n    }\n}\n\nint main()\n{\n    const int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };\n    int arr_copy[3][3];\n    print(arr, 3);\n    std::memcpy(arr_copy, arr, sizeof arr);\n …
Run Code Online (Sandbox Code Playgroud)

c c++ multidimensional-array undefined-behavior language-lawyer

70
推荐指数
4
解决办法
6066
查看次数

有“去卸载”吗?

如前所述,我知道将go install可执行文件复制到{GOPATH}/bin,但是有这样的东西吗go uninstall

之后go clean,可执行文件仍在{GOPATH}/bin;除了相当钝的力量之外,我在文档中找不到任何内容rm -f {filename}

go

60
推荐指数
1
解决办法
3万
查看次数

Spring Boot 2.5.0 生成 plain.jar 文件。我可以删除它吗?

在 Spring Boot 2.5.0 更新之后,它会myprogram-0.0.1-plain.jar在通常的myprogram-0.0.1.jar. 我可以禁止 gradle 生成*.plain.jar文件吗?我使用 Gradle 7.0.2。

我得到的:

build/
  libs/
    myprogram-0.0.1.jar
    myprogram-0.0.1-plain.jar
Run Code Online (Sandbox Code Playgroud)

我想要的是:

build/
  libs/
    myprogram-0.0.1.jar
Run Code Online (Sandbox Code Playgroud)

构建.gradle:

plugins {
    id 'org.springframework.boot' version '2.5.0'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
    useJUnitPlatform()
}

Run Code Online (Sandbox Code Playgroud)

java spring gradle kotlin spring-boot

40
推荐指数
4
解决办法
5878
查看次数

MongooseError:查询已执行

.findOne()我将 Mongoose 更新到最新版本(6.0.1),现在每当执行时都会收到此错误:

MongooseError: Query was already executed: Streams.findOne({ i: 6 })
    at model.Query._wrappedThunk [as _findOne] (C:\Users\honza\ZiggerTestMaster\node_modules\mongoose\lib\helpers\query\wrapThunk.js:21:19)
    at C:\Users\honza\ZiggerTestMaster\node_modules\kareem\index.js:370:33
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
    at runNextTicks (node:internal/process/task_queues:65:3)
    at listOnTimeout (node:internal/timers:526:9)
    at processTimers (node:internal/timers:500:7) {
  originalStack: 'Error\n' +
    '    at model.Query._wrappedThunk [as _findOne] (C:\\Users\\honza\\ZiggerTestMaster\\node_modules\\mongoose\\lib\\helpers\\query\\wrapThunk.js:25:28)\n' +
    '    at C:\\Users\\honza\\ZiggerTestMaster\\node_modules\\kareem\\index.js:370:33\n' +
    '    at processTicksAndRejections (node:internal/process/task_queues:78:11)\n' +
    '    at runNextTicks (node:internal/process/task_queues:65:3)\n' +
    '    at listOnTimeout (node:internal/timers:526:9)\n' +
    '    at processTimers (node:internal/timers:500:7)'
}
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

var visitorData = Visitor.find({});
    
app.get("/retrieve", function(req,res){
    visitorData.exec(function (err,data) {
        if (err) { …
Run Code Online (Sandbox Code Playgroud)

mongoose node.js

40
推荐指数
4
解决办法
6万
查看次数

androidx.activity.ComponentActivity 的超类 androidx.core.app.f 被声明为最终类

我想更新 Play 商店中应用程序的版本,但在测试中我开始收到此错误。

Superclass androidx.core.app.f of androidx.activity.ComponentActivity is declared final
Run Code Online (Sandbox Code Playgroud)

根据谷歌问题跟踪器,这是新的,也许有人有解决这个问题的方法。

testing android google-play

29
推荐指数
2
解决办法
2400
查看次数

发现无效的 Gradle JDK 配置。打开 Gradle 设置

我正在尝试将 Jetpack Compose 与 Android Studio 4.2 集成到我的项目中,但在 IDE 中出现以下错误:

发现无效的 Gradle JDK 配置。打开 Gradle 设置

我还检查了以下设置:

  • Android gradle 插件版本:4.2.0-alpha01
  • 摇篮版本:6.5-rc-1

应用程序/build.gradle:

composeOptions {
        kotlinCompilerVersion "1.3.70-dev-withExperimentalGoogleExtensions-20200424"
        kotlinCompilerExtensionVersion "0.1.0-dev13"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    buildFeatures {
        compose true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
Run Code Online (Sandbox Code Playgroud)

任何的想法?

android gradle android-studio android-jetpack-compose

25
推荐指数
3
解决办法
2万
查看次数

小于 1 的浮点类型可表示的最大值

float有没有办法获得小于 的浮点类型可表示的最大值1

看过以下定义

static const double DoubleOneMinusEpsilon = 0x1.fffffffffffffp-1;
static const float FloatOneMinusEpsilon = 0x1.fffffep-1;
Run Code Online (Sandbox Code Playgroud)

但这真的是我们应该如何定义这些价值观吗?

根据标准,std::numeric_limits<T>::epsilon是机器 epsilon,即 1.0 与浮点类型可表示的下一个值之间的差T。但这并不一定意味着定义T(1) - std::numeric_limits<T>::epsilon会更好。

c++ floating-point epsilon c++17

24
推荐指数
2
解决办法
2200
查看次数

c++ 和 c# sin 函数大值的不同结果

当我使用大数时,我遇到了 C# 中 Math.Sin 函数的这种奇怪行为;例如:

C#:.Net 4.7.2:Math.Sin(6.2831853071795856E+45) = 6.2831853071795856E+45

C++:sin(6.2831853071795856E+45) = -0.089650623841643268

任何想法如何获得与 C++ 相同的结果?

C# 示例:

double value = 6.2831853071795856E+45;    
Console.WriteLine(Math.Sin(value));
Run Code Online (Sandbox Code Playgroud)

C++ 示例:

double x = 6.2831853071795856E+45;
double result;
    
result = sin(x);
cout << "sin(x) = " << result << endl;
Run Code Online (Sandbox Code Playgroud)

.net c# c++ floating-point .net-4.7.2

23
推荐指数
3
解决办法
1035
查看次数

Android Studio Bumblebee - 设备管理器未打开

我刚刚将 Android Studio 更新为:Android Studio Bumblebee | 2021.1.1 构建 #AI-211.7628.21.2111.8092744,建于 2022 年 1 月 19 日

但现在我无法再打开设备管理器。

如果我点击该图标,什么也不会发生。

在此输入图像描述

android android-studio android-studio-bumblebee

23
推荐指数
2
解决办法
5044
查看次数

为什么这段代码会为不同的编译器生成不同的输出?

我有以下代码:

#include <iostream>
#include <vector>

struct C {
  int a;

  C() : a(0) {}
  C(int a) : a(a) {}
};

std::ostream &operator<<(std::ostream &os, const C &c) {
  os << c.a;
  return os;
}

using T = std::vector<C>;

int main() {
  auto v = T({5});

  for (const auto &a : v) {
    std::cout << a << ", ";
  }
  std::cout << std::endl;

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我使用 g++,它会打印:

#include <iostream>
#include <vector>

struct C {
  int a;

  C() : a(0) {}
  C(int …
Run Code Online (Sandbox Code Playgroud)

c++ vector initializer-list compiler-specific direct-initialization

20
推荐指数
1
解决办法
853
查看次数