我多年没有使用 C++,现在我用测试编写了 C++ 项目。
当我开始调试时,我发现变量默认不初始化为零很奇怪。例如,当我查看我的类未初始化变量(unsigned int)时,我看到它的值 3452816845 insted of expected zeo ...这会导致单元测试中的错误。我使用这样的初始化:
TEST_METHOD(TestPlus)
{
Entity* entity = new Entity();
entity->mCreateOperator(entity->Plus);
entity->SetContactValue(1);
entity->SetContactValue(2);
entity->mProcessLast();
Assert::IsTrue(entity->GetContactValue((1+2));
}
我有实体类的默认构造函数:
Entity::Entity(void) {/*some internal array initialization*/}
我认为当我使用 new 关键字时,所有类变量都将由 C++ 运行时初始化为 0。
我错过了什么吗?