Пытаясь ответить на этот вопрос, я обнаружил, что код int* p = new int[10]();
компилируется с компилятором VC9 и инициализирует целые числа до 0. Поэтому мои вопросы:
- Прежде всего, это допустимый С++ или это расширение Microsoft?
- Гарантируется ли инициализация всего элементы массива?
- Кроме того, есть ли разница, если я
do
new int;
илиnew int();
? Есть ли последняя гарантия для инициализации переменная?