相关疑难解决方法(0)

使用一个默认值初始化普通数组

C++注意事项:数组初始化有一个很好的列表初始化列表.我有一个

int array[100] = {-1};
Run Code Online (Sandbox Code Playgroud)

期望它充满-1,但它不是,只有第一个值,其余的是0与随机值混合.

代码

int array[100] = {0};
Run Code Online (Sandbox Code Playgroud)

工作正常,并将每个元素设置为0.

我在这里想念的是什么..如果值不为零,不能初始化它吗?

2:默认初始化(如上所述)是否比通过整个数组的通常循环更快并分配一个值还是做同样的事情?

c c++ arrays initialization default-value

230
推荐指数
9
解决办法
40万
查看次数

查找C++静态初始化顺序问题

我们遇到了静态初始化命令惨败的一些问题,我正在寻找方法来梳理大量代码以找到可能发生的事件.有关如何有效地做到这一点的任何建议?

编辑:我得到了一些关于如何解决静态初始化顺序问题的好答案,但这不是我的问题.我想知道如何查找受此问题影响的对象.在这方面,Evan的答案似乎是迄今为止最好的答案; 我不认为我们可以使用valgrind,但我们可能有可以执行类似功能的内存分析工具.只有在给定构建的初始化顺序错误的情况下才能捕获问题,并且顺序可以随每个构建而改变.也许有一个静态分析工具可以捕捉到这一点.我们的平台是在AIX上运行的IBM XLC/C++编译器.

c++ initialization static-order-fiasco

59
推荐指数
5
解决办法
5万
查看次数