powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чем-то отличаются по смыслу операторы: noexcept, nothrow(), throw() и __declspec(nothrow)?
6 сообщений из 6, страница 1 из 1
Чем-то отличаются по смыслу операторы: noexcept, nothrow(), throw() и __declspec(nothrow)?
    #38037286
noexcept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чем-то отличаются по смыслу операторы: noexcept, nothrow(), throw() и __declspec(nothrow)?
И объявляются ли деструктор, конструктор и оператор перемещения автоматом по умолчанию noexcept?
http://msdn.microsoft.com/en-en/library/wfa0edys.aspx
http://msdn.microsoft.com/en-en/library/hh279653.aspx#

Насколько я понимаю, раньше было:
1. throw() - функция не должна вызывать исключений
2. throw(...) - функция может вызывать любые исключения
3. throw(T) - функция может вызывать исключения типа T
Но в новом стандарте все они deprecated, а throw() заменили на noexcept?

Плюс есть константа std::nothrow типа std::nothrow_t, передавая которую можно указывать кидать или нет исключения, например в new(std::nothrow).
...
Рейтинг: 0 / 0
Чем-то отличаются по смыслу операторы: noexcept, nothrow(), throw() и __declspec(nothrow)?
    #38037987
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noexcept,

Ты же лучше всех нас всё знаешь, зачем спрашивать тогда ?
...
Рейтинг: 0 / 0
Чем-то отличаются по смыслу операторы: noexcept, nothrow(), throw() и __declspec(nothrow)?
    #38038123
noexcept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivnoexcept,

Ты же лучше всех нас всё знаешь, зачем спрашивать тогда ?
Не всех. Уточняю.
Тем более интересно какие кампиляторы что из этого на данный момент поддерживают или никто не пользуется исключениями?
...
Рейтинг: 0 / 0
Чем-то отличаются по смыслу операторы: noexcept, nothrow(), throw() и __declspec(nothrow)?
    #38038806
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сказал так: никто не пользуется спецификациями исключений.

Я видел спецификации исключений в реальных программах только один раз в жизни, кажется -- в реализации STL из GCC/G++.
...
Рейтинг: 0 / 0
Чем-то отличаются по смыслу операторы: noexcept, nothrow(), throw() и __declspec(nothrow)?
    #38038821
noexcept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivЯ бы сказал так: никто не пользуется спецификациями исключений.

Я видел спецификации исключений в реальных программах только один раз в жизни, кажется -- в реализации STL из GCC/G++.
Это да, толку мало. Никакой проверки compile-time. А в лучшем случае noexcept только терминирует программу.
http://en.cppreference.com/w/cpp/language/noexcept_spec
...
Рейтинг: 0 / 0
Чем-то отличаются по смыслу операторы: noexcept, nothrow(), throw() и __declspec(nothrow)?
    #38040342
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noexceptЭто да, толку мало. Никакой проверки compile-time. А в лучшем случае noexcept только терминирует программу.
http://en.cppreference.com/w/cpp/language/noexcept_spec


А оно не для проверки используется, как в Java, а для оптимизации.
Но видимо либо компиляторы и так могут догадаться, есть выбросы, или нет, или всё равно не удаётся сгенерировать
лучший код, раз оно так не было популярно...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чем-то отличаются по смыслу операторы: noexcept, nothrow(), throw() и __declspec(nothrow)?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]