Форум программистов, компьютерный форум CyberForum.ru

Зачем reinterpret_cast<>(), если есть static_cast<>() ? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Описать набор функций для работы со списками (память для объектов выделять динамически из приватной кучи) http://www.cyberforum.ru/cpp-beginners/thread1182804.html
Здравствуйте Ув. форумчане! Помогите пожалуйста реализовать программу... Задание: Описать набор функций для работы со списками. Память для объектов каждого списка выделять динамически из приватной кучи без упорядочения обращений.
C++ Матрицы. Элементы диагонали Здравствуйте, прошу помочь с заданием, т.к. не понимаю, что от меня требуется в данном задании и как его выполнять. Вывести пары “элемент главной диагонали, элемент побочной диагонали”, для которых в строке, содержащей элемент главной диагонали количество нулей равно количеству нулей в столбце, содержащем элемент побочной диагонали. http://www.cyberforum.ru/cpp-beginners/thread1182798.html
Как записать список из строки слов C++
Помогите, как записать список из строки слов, которые отделены друг от друга.
C++ Изменить программу
Друзья, необходимо модифицировать поиск кратчайшего пути поиском в ширину в код, решающий следующую задачу: КРАТЧАЙШИЙ ПУТЬ С ОГРАНИЧЕНИЯМИ ПО ВЕСУ УСЛОВИЕ. Заданы граф G=<V,E> с двумя выделенными вершинами s и t, целые положительные веса w(e) и длина l(e) каждого ребра e Є E и положительные целые числа B и K. ВОПРОС. Существует ли в G
C++ В матрице целых чисел размером 3x7 определить номер столбца, который содержит наименьший элемент http://www.cyberforum.ru/cpp-beginners/thread1182773.html
В матрице целых чисел размером 3x7 определить номер столбца, который содержит наименьший элемент.
C++ Написать перегруженные функции и основную программу, которая их вызывает а) для массива целых чисел находит количество четных элементов; б) для строки находит количество слов, начинающихся на "а". подробнее

Показать сообщение отдельно
Убежденный
Системный программист
 Аватар для Убежденный
14181 / 6196 / 984
Регистрация: 02.05.2013
Сообщений: 10,317
Завершенные тесты: 1
20.05.2014, 23:23     Зачем reinterpret_cast<>(), если есть static_cast<>() ?
Приведения в C++ работают по более строгим правилам, чем приведения в стиле С.
Например, в C я легко могу привести указатель к какому-нибудь char-у или наоборот, и
компилятор даже не пикнет. Со static_cast такой номер не пройдет, и даже
reinterpret_cast не позволит это сделать, если размер output-типа слишком мал.

В общем, приведения в C++ можно рассматривать, как более тонкий и безопасный
инструмент для работы с типами:

static_cast - для приведений совместимых типов, например "unsigned char" в "int".
dynamic_cast - для динамического определения типа в полиморфных классах.
const_cast - аккуратное снятие признака константности (именно признака, а не
самой константности).
reinterpret_cast - обработка специальных случаев типа привести <void *> к <size_t>.
C-style - последняя мера, когда ничего уже не помогает.
 
Текущее время: 20:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru