우리 코드는 POD (Plain Old Datastructure) 구조체 (처음에 초기화해야하는 다른 구조체와 POD 변수를 포함하는 기본 C ++ 구조체입니다.)
내가 읽은 것을 기반으로 한 것 같습니다.
myStruct = (MyStruct*)calloc(1, sizeof(MyStruct));
다음과 같이 모든 값을 0으로 초기화해야합니다.
myStruct = new MyStruct();
그러나 구조체가 두 번째 방법으로 초기화 될 때 Valgrind는 이러한 변수가 사용될 때 "조건부 점프 또는 이동이 초기화되지 않은 값에 따라 달라집니다"라고 나중에 불평합니다. 내 이해에 결함이 있습니까, 아니면 Valgrind가 오탐을 던지고 있습니까?
new MyStruct()
C ++ 03에서는 패딩 바이트를 설정할 필요가 없습니다. C ++ 0x에서는 그렇습니다. 모든 패딩 비트는 C ++ 0x에서 0으로 설정됩니다.