このページはC++20に採用された言語機能の変更を解説しています。
のちのC++規格でさらに変更される場合があるため関連項目を参照してください。
概要
C++11で例外送出しないことを指定するnoexcept
が追加されたことによって古い例外仕様は非推奨化の後に削除されたが、なにも例外送出しないことを表すthrow()
指定はnoexcept
と同じ意味になるよう仕様が変更されて非推奨機能として維持されていた。
void f() throw();
// 以下と同じ意味
// void f() noexcept;
C++20では、非推奨とされていたthrow()
指定の機能を削除する。代わりにnoexcept
を使用すること。