我们的代码涉及一个POD(Plain Old Datastructure)结构体(它是一个基本的C++结构体,其中包含其他结构体和需要在开始时初始化的POD变量。)
根据我所阅读的内容,似乎:
myStruct = (MyStruct*)calloc(1, sizeof(MyStruct));
应该将所有值初始化为零,就像这样:
myStruct = new MyStruct();
然而,当结构以第二种方式初始化时,Valgrind随后会在使用这些变量时抱怨“条件跳转或移动取决于未初始化的值”。我在这里的理解有误,还是Valgrind给出了错误的提示?