Вопрос

Does using new[] in C++ initialise the allocated array to all zeroes?

Это было полезно?

Решение

Does new[] initialise an array of builtins?

It depends:

int* = new int[42];   // default initialization: elements not initialized

int* = new int[42](); // value initialization: elements are zero initialized

Note the terminology: in the first example, the elements are said to be default-initialized, which for built-ins means no initialization is performed. In the second example, the elements are value-initialized, which for built-ins means zero-initialization.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top