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

static_cast, исключение - C++

Восстановить пароль Регистрация
 
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
04.10.2011, 14:57     static_cast, исключение #1
Привет.

dynamic_cast<> может выбросить исключение, при невозможности преобразования типа при работе с ссылками.

старое приведение типа (int)(xxxx) - не выбрасывает исключения , а только может возвратить статус

а static_cast<>() может выкинуть исключение?

тоесть , например при рефакторинге старого кода, могу я заменить все (int)() на static_cast<int>(), не опасаясь что потом будут ошибки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2011, 14:57     static_cast, исключение
Посмотрите здесь:

Static_cast C++
C++ static_cast
C++ Ключевое слово static_cast
C++ static_cast
чем отличаются static_cast от C++
C++ Использование static_cast
Чем отличаются dynamic_cast и static_cast? C++
C++ Оператор static_cast

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
04.10.2011, 15:00     static_cast, исключение #2
static_cast работает в момент компиляции. Если не сможет привести тип, то будет сообщение компилятора об ошибке.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
04.10.2011, 15:22     static_cast, исключение #3
Это если речь про встроенные типы. При использовании классов исключение может возникнуть в момент преобразования внутри функций класса.
Впрочем, "старое приведение" работает в этом смысле точно так же. Так что можно менять. Ещё у static_cast<type> приоритет вроде чуть повыше, чем у (type).
Yandex
Объявления
04.10.2011, 15:22     static_cast, исключение
Ответ Создать тему
Опции темы

Текущее время: 12:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru