相关疑难解决方法(0)

正确初始化C++结构的方法

我们的代码涉及一个POD(Plain Old Datastructure)结构(它是一个基本的c ++结构,其中包含其他结构和POD变量,需要在开始时进行初始化.)

根据我所读到的,似乎:

myStruct = (MyStruct*)calloc(1, sizeof(MyStruct));
Run Code Online (Sandbox Code Playgroud)

应该将所有值初始化为零,如下所示:

myStruct = new MyStruct();
Run Code Online (Sandbox Code Playgroud)

但是,当以第二种方式初始化结构时,Valgrind后来抱怨"当使用这些变量时,条件跳转或移动取决于未初始化的值".我的理解是否存在缺陷,或者Valgrind是否会误报?

c++ struct valgrind initialization calloc

70
推荐指数
1
解决办法
17万
查看次数

标签 统计

c++ ×1

calloc ×1

initialization ×1

struct ×1

valgrind ×1