有什么方法可以在 Visual C++ Release模式下强制将 pod 类型初始化为 0\false\nullptr
?
更具体地说,我不想更改我的代码,只是使用初始化为 0\false\nullptr 的 pod 类型编译它。
我想要这个是因为我希望我们的系统是确定性的。
最佳答案
是的,值初始化会做到这一点。
struct pod {
int a, b;
char c;
double d;
};
pod myPod = pod(); // Value-initialized, all members are 0.
C++11 还允许您在类定义中分配默认值,但 Visual Studio 尚不支持此功能。
struct pod {
int a = 0, b = 0;
char c = 0;
double d = 0.0;
};
pod myPod; // All members would be initialized to 0.
关于c++ - 如何在不更改代码的情况下强制对 Visual C++ 中的 POD 类型进行值初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8226717/