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

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

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. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

В теории государства и права выделяют два пути возникновения государства: восточный и западный Восточный путь возникновения государства представляет собой плавный переход, перерастание первобытного общества в государство...

Закон Гука при растяжении и сжатии   Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...

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

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