繁体   English   中英

如何在不更改代码的情况下强制在 Visual C++ 中对 POD 类型进行值初始化?

[英]How to force value initialization for POD types in Visual C++ without changing code?

有没有办法在Visual C++发布模式下强制将 pod 类型初始化为0\\false\\nullptr

更具体地说,我不想更改我的代码,只需使用初始化为0\\false\\nullptr. pod 类型编译它0\\false\\nullptr.

我想要这个是因为我希望我们的系统是确定性的。

是的,值初始化会做到这一点。

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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM