Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.8.4 Инициализаторы





За описателем может идти начальное значение описываемого идентификатора. инициализатор: = выражение-присваивания = { список-инициализаторов, opt } (список-выражений) список-инициализаторов: выражение-присваивания список-инициализаторов, выражение-присваивания { список-инициализаторов, opt } Автоматические, регистровые, статические и внешние переменныеможно инициализировать произвольными выражениями, содержащимиконстанты и описанные ранее переменные и функции. int f(int); int a = 2; int b = f(a); int c(b); Указатель типа const T*, т.е. указатель на константу T, можетинициализироваться указателем типа T*, но инициализация для указателейв обратном порядке незаконна. Объекты типа T можно инициализироватьобъектами типа T независимо от использования спецификаций const илиvolatile в типах инициализируемой переменной или инициализатора,например, int a; const int b = a; int c = b; const int* p0 = &a; const int* p1 = &b; int* p2 = &b; // ошибка: указатель без const // настраивается на объект const int *const p3 = p2; int *const p4 = p1; // ошибка: указатель без const // настраивается на объект const const int* p5 = p1; Здесь причина обеих ошибок одна: если допустить подобную инициализацию,она позволит изменять с помощью указателя без соответствующейспецификации значение чего-то, что было описано как const. На выражения для стандартных значений параметров накладываетсябольше ограничений, см. $$R.8.2.6. Инициализация объектов классов с помощью конструкторов описываетсяв $$R.12.6.1. Копирование объектов классов описывается в $$R.12.8.Порядок инициализации статических объектов определяется в $$R.3.4и $$R.6.7. Гарантируется, что переменные статического класса памяти ($$R.3.5),которые не были инициализированы, в качестве начального значенияполучат 0, приведенный к нужному типу. То же справедливо для статическихчленов объектов класса. Начальные значения автоматических ирегистровых переменных, которые не были инициализированы, неопределены. Если инициализатор относится к указателю или объекту арифметическоготипа, он состоит из одного выражения (возможно в скобках). В качественачального значения объекта берется значение выражения, происходяттакие же преобразования типа, как и в случае присваивания. Заметим, что поскольку () не является инициализатором,описание X a(); задает не объект a типа класс X, а является описанием функции безпараметров, возвращающей X. Инициализатор для статического члена принадлежит областивидимости члена класса, например, int a; struct X { static int a; static int b; }; int X::a = 1; int X::b = a; // X::b = X::a







Дата добавления: 2015-09-04; просмотров: 308. Нарушение авторских прав; Мы поможем в написании вашей работы!




Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

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

Понятие и структура педагогической техники Педагогическая техника представляет собой важнейший инструмент педагогической технологии, поскольку обеспечивает учителю и воспитателю возможность добиться гармонии между содержанием профессиональной деятельности и ее внешним проявлением...

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия