Из этого ответа , В C ++ 03 тип POD инициализируется по умолчанию, если ()
опущен, в противном случае он инициализируется значением.
// POD type
struct foo {
int x;
};
// value-initialized
new foo();
Но если указан пользовательский конструктор, будет ли какой-либо из перечисленных ниже объектов считаться по умолчанию или инициализированным значением?
// non-POD type
struct bar {
bar(int x = 0):x(x) {}
int x;
};
new bar();
new bar(42);