[英]C++ pod initialization via default c'tor
考虑一下这个POD:
struct T
{
int i;
char c;
};
在哪个C ++标准中,POD成员的要求是通过默认的c'tor引入(或者从标准开始)到初始化为零?
是的,这意味着没有用户指定的c'tor,'i'和'c'都将初始化为0.请参阅http://msdn.microsoft.com/en-us/library/80ks028k%28VS.80%29。 ASPX
我不知道我是否理解你的问题。
这意味着没有用户指定的c'tor,'i'和'c'都将被初始化为0。
不必要。
例如:
T x; // `i` and `c` are uninitialized
T *ptr = new T; // `i` and `c` are uninitialized
T *pptr = new T(); //`i` and `c` are zero initialized as `T()` implies value initialization
T x(); // x is a function returning a type T and taking no arguments.
准确地说, value initialization
(C ++ 03 Section $ 8.5 / 5)是你正在寻找的东西。 它是在C ++ 03中引入的。
你所说的正确称为“值初始化”。 它是在C ++ 03中引入的(它在§8.5/ 5中定义,如果你想查看细节)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.