Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>да, должно.
L_L>но, возможно, не все компиляторы об этом знают, так что, тебе придется поверять каждый твой конкретный
Случайно один уже проверил (g++ (GCC) 3.4.6 [FreeBSD]). Результат отрицательный.
Здравствуйте, Vamp, Вы писали:
V>А как вы убеждаетесь, что обнуляет всегда? По-моему, здесь можно быть уверенным только в том случае, если не обнуляет...
А откуда собственно такая неуверенность?
Стандарт требует, чтобы при наличии () каждый элемет массива был value-initialized, т.е. обнулен в данном случае.
Или компилятор выполняет это требование и обнуляет элементы, или нет. Проверить можно на практике
B>Стандарт требует, чтобы при наличии () каждый элемет массива был value-initialized, т.е. обнулен в данном случае. B>Или компилятор выполняет это требование и обнуляет элементы, или нет. Проверить можно на практике
Или НЕ выполняет, заполняя значение мусором, который в ДАННОМ КОНКРЕТНОМ тесте оказался нулем... Возможно?
Здравствуйте, Vamp, Вы писали:
V>Или НЕ выполняет, заполняя значение мусором, который в ДАННОМ КОНКРЕТНОМ тесте оказался нулем... Возможно?
Можно прямо проверить. Например так:
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Vamp, Вы писали:
B>>Стандарт требует, чтобы при наличии () каждый элемет массива был value-initialized, т.е. обнулен в данном случае. B>>Или компилятор выполняет это требование и обнуляет элементы, или нет. Проверить можно на практике V>Или НЕ выполняет, заполняя значение мусором, который в ДАННОМ КОНКРЕТНОМ тесте оказался нулем... Возможно?
проверить можно посмотрев на сгенерированный ассемблерный код...
Здравствуйте, Erop, Вы писали:
V>>Или НЕ выполняет, заполняя значение мусором, который в ДАННОМ КОНКРЕТНОМ тесте оказался нулем... Возможно? E>Можно прямо проверить. Например так: