Инициализаторы
Деклараторы могут указать начальное значение для объектов.Единственным способом определить значение для объектов Const тип в деклараторе.Часть декларатора, который определяет эту начальное значение называется инициализатором.2 Основных типа инициализаторов:
Инициализаторы, вызываемые с помощью синтаксиса знака равенства, включая статических инициализаторов:
= expression = { expression-list } = { { expression-list}, {expression-list}, . . . }
Инициализаторы, вызываемые с использованием синтаксиса функция-стиля:
( expression )
Только объекты классов с конструкторами можно инициализировать с синтаксисом функция-стиля.2 Формы синтаксиса также отличаются в управлении доступом и потенциальной использовании временных объектов.Рассмотрим следующий код, в котором показаны некоторые деклараторы с инициализаторами:
int i = 7; // Uses equal-sign syntax.
Customer Cust( "Taxpayer, Joe", // Uses function-style
"14 Cherry Lane", // syntax. Requires presence
"Manteca", // of a constructor.
"CA" );
Объявления auto регистра статического и внешние переменные могут содержать инициализаторы.Однако объявления внешних переменных могут содержать инициализаторы, только если переменные не объявляются как extern.
Эти инициализаторы могут содержать выражений, включая константы и переменные в текущей области.Выражение инициализатора вычисляется в объявление, обнаруженные в программной последовательности или для глобальных статических объектов и переменные при запуске программы.(Дополнительные сведения об инициализации глобальных статических объектов см. в разделе Дополнительные вопросы запуска.)
Подразделы в этом разделе: