×
Traktatov.net » Язык программирования C++. Пятое издание » Читать онлайн
Страница 699 из 714 Настройки
. Библиотечный оператор >delete[] освобождает память, задействованную массивом, который был зарезервирован оператором >new[].

Оператор>dynamic_cast. Осуществляет приведение типа базового класса к типу производного с проверкой. В базовом классе должна быть определена по крайней мере одна виртуальная функция. Оператор проверяет динамический тип объекта, с которым связана ссылка или указатель. Приведение осуществляется только тогда, когда тип объекта совпадает с типом приведения или является типом, производным от него. В противном случае возвращается нулевой указатель (при приведении указателя) или исключение (при приведении ссылки).

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

Перечисление (enumeration). Тип, группирующий набор именованных целочисленных констант.

Перечисление с не ограниченной областью видимости (unscoped enumeration). Перечисление, перечислители которого доступны в окружающей области видимости.

Перечисление с ограниченной областью видимости (scoped enumeration). Перечисление нового вида, в котором перечислитель не доступен непосредственно в окружающей области видимости.

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

Размещающий оператор>new (placement >new). Форма оператора >new, создающая объект в указанной области памяти. Память он не резервирует, а область, предназначенную для объекта, указывает получаемый аргумент. Представляет собой низкоуровневый аналог функции-члена >construct() класса >allocator.

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

Тип>type_info. Библиотечный тип, возвращаемый оператором >typeid. Класс >type_info жестко зависит от конкретной машины, однако любая библиотека должна определять класс >type_info как содержащий функцию-член >name(), возвращающую символьную строку, представляющую имя типа. Объекты класса >type_info не могут быть скопированы, перемещены или присвоены.

Указатель на член класса (pointer to member). Инкапсулирует тип класса, а также тип элемента, на который он указывает. Определение указателя на член класса должно содержать имя класса, а также тип элемента (элементов), на который он может указывать.

>Т C::*pmem = &С::{member};

Это выражение определяет указатель >pmem, который способен указывать на члены класса по имени >С, которые имеют тип >T, и инициализирует его адресом члена класса >С по имени