Наш код включает структуру POD (Plain Old Datastructure) (это базовая структура С++, в которой есть другие структуры и переменные POD, которые должны быть инициализированы в начале.)
На основе того, что я читал, кажется, что:
myStruct = (MyStruct*)calloc(1, sizeof(MyStruct));
должен инициализировать все значения до нуля, а также:
myStruct = new MyStruct();
Однако, когда структура инициализируется вторым способом, позже Valgrind жалуется, что "условный переход или перемещение зависят от неинициализированного значения (значений)", когда используются эти переменные. Мое понимание здесь испорчено, или Valgrind бросает ложные срабатывания?