3
什麼用改性劑像noexcept
,__declspec(nothrow)
,throw()
,__attribute__(nothrow)
大概幾個都具有不同的語義,不同的編譯器的支持和所謂的利弊的目的?當我嘗試在我的代碼中添加任何這些代碼時,我仍然得到相同的程序集。noexcept,__declspec(拋出異常),擲(),__attribute __(拋出異常)
什麼用改性劑像noexcept
,__declspec(nothrow)
,throw()
,__attribute__(nothrow)
大概幾個都具有不同的語義,不同的編譯器的支持和所謂的利弊的目的?當我嘗試在我的代碼中添加任何這些代碼時,我仍然得到相同的程序集。noexcept,__declspec(拋出異常),擲(),__attribute __(拋出異常)
This article似乎暗示一些編譯器能夠在某些情況下,根據這些信息優化。我想象編譯器可以避免一些大量的工作,但只能在非常特殊的情況下。
同樣的文章似乎暗示而不是顯式使用關鍵字是一個很好的選擇路徑,因爲用例的具體情況如何。