Операторы reinterpret_cast и const_cast

Нам осталось рассмотреть еще операторы reinterpret_cast и const_cast. Эти операторы используются намного реже. Вначале рассмотрим reinterpret_cast.

Оператор reinterpret_cast является небезопасным, так как позволяет осуществлять бесконтрольное преобразование типов, которые запрещены правилами C++. Рассмотрим пример.

Оператор dynamic_cast

На прошлом уроке мы рассмотрели static_cast и сказали, что он не выполняет динамический контроль типов. Так вот, для безопасного приведения типов необходимо использовать dynamic_cast, так как контроль преобразования происходит на этапе выполнения программы. В случае успешного преобразования dynamic_cast возвращает ненулевой указатель. Рассмотрим пример.

Оператор static_cast

Сегодня поговорим об операторе static_cast. Он используется для явных преобразований.

Мы рассмотрим три примера:

— в арифметических выражениях;

— математических функциях;

— в иерархии наследования.

Константный указатель

Решил я рассмотреть константный указатель, так как видел на форумах много вопросов по этой теме. Ну что ж, начнем наш урок)

Ключевое слово const вместе с указателями может использоваться в трех случаях:

— мы хотим объявить указатель на константу;

— мы хотим объявить константный указатель;

— мы хотим объявить константный указатель на константу. Итак, рассмотрим по порядку.

Яндекс.Метрика