Почему инициализация значения так названа?

Мне действительно непонятно, почему кто-то может назвать конкретную форму инициализации «инициализация значения». Звучит так, как будто он инициализирует объект, давая ему значение … но это то, что инициализация делает в целом, и имя ничего не говорит вам о который значение, которое он собирается использовать для инициализации.

5

Решение

Увеличить значение value_init предоставить довольно подробную историю инициализация значения это закончилось в стандарте от отчет о дефекте 178: подробнее об инициализации значения и кажется, что термин произошел от отчет о дефекте 35: определение инициализации по умолчанию. Хотя ни один из этих документов на самом деле не обеспечивает правильное происхождение термина, он действительно дает некоторые хорошие идеи, он говорит:

Первое техническое исправление к стандарту C ++ (TC1), в котором
Проект был выпущен для общественности в ноябре 2001 года, представил Core
Выпуск 178 (среди многих других вопросов, конечно).

Этот вопрос представил новую концепцию инициализации значения (это также
исправлена ​​формулировка для инициализации нуля). Неформально,
инициализация значения аналогична инициализации по умолчанию с
исключение, что в некоторых случаях нестатические члены данных и базовый класс
подобъекты также инициализируются значением. Разница в том, что
объект, инициализированный значением, не будет иметь (или, по крайней мере, меньше
вероятно) неопределенные значения для членов данных и базового класса
суб-объекты; в отличие от случая объекта по умолчанию построен. (увидеть
Основной выпуск 178 для нормативного описания).

Чтобы указать значение инициализации объекта, нам нужно использовать
инициализатор пустого набора: ().

и инициализация значения с меньшей вероятностью оставит объект с неопределенным значением по сравнению с по умолчанию-инициализационные.

7

Другие решения


По вопросам рекламы [email protected]