Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > не понятная сигнатура


Автор: Artemon 7.11.2009, 17:50
Код

const char *what() const throw() { return typeid(*this).name(); }


Кто-нибудь знает что означает "const throw()" ?

Автор: Любитель 7.11.2009, 17:54
const - означает, что метод не меняет полей объекта (за исключением mutable-полей и при условии, что он не пользуется const_cast и прочими "грязными хаками").
throw() - что метод не выбрасывает исключений. Это не проверяется компилятором, просто декларация.

Автор: Artemon 7.11.2009, 18:34
Спасибо, раньше не сталкивался со совом "throw()" в сигнатуре метода.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)