2015-10-18 48 views

回答

1

爲什麼你需要?你的編譯器知道你的代碼,如果你永遠不會在你的操作符中做什麼,你不會得到異常處理開銷。如果你在這些操作符內部做些什麼,可能會拋出,你在語義上不能使用說明符(除非你希望你的程序在拋出時立即退出)。

我個人不認爲noexcept會產生任何可衡量的性能提升,但最隱祕的角落案例 - 支持它的編譯器正在生成後端代碼,對不拋出的代碼沒有性能損失。對我而言,noexcept更多的是編譯時檢查noexcept(expression) operator形式的語言特性。比較Bjarne's FAQ