2017-05-03 38 views
1

什麼是對既有的operator *()和運營商的積極性 - >() - 當實例未初始化未定義行爲?的std ::可選的operator *()和operator - >() - 未定義的行爲

爲什麼不把它當作一個錯誤,並拋出一個異常?

+1

性能/速度 –

+2

[性病::可選提議](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3672.html)報價:'使用間接運算符是一個未定義的行爲。這種行爲提供了最大的運行時性能.' –

回答

1

運行時性能。

proposal, revision 4,這表示:

使用間接運算符爲脫離對象是未定義 行爲。此行爲可提供最高的運行時性能

0

我猜他們是如此低的水平(這只是編譯器的存儲器存取),其異常處理將是這個非常的性能,低廉的方法是矯枉過正。

0

性能基本。不檢查所需的無效值,也不需要例外。如果你想要例外,那就是value方法。

相關問題