2017-05-03 13 views
1

インスタンスが初期化されていないときの演算子*()と演算子 - >()std ::任意の演算子*()と演算子 - >() - 未定義の動作

なぜエラーとして処理して例外をスローしますか?

+1

パフォーマンス/スピード –

+2

[STD ::オプションの提案](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3672.html)引用: '使い方離脱したオブジェクトの間接演算子は未定義の動作です。この動作により、実行時のパフォーマンスが最大限に向上します。 –

答えて

1

ランタイムパフォーマンス。

前記proposal, revision 4、参照:

を解放オブジェクトの間接演算子を使用して、未定義 挙動です。この動作により、実行時のパフォーマンスが最大限に向上します。

0

私は、非常に低レベル(コンパイラのメモリアクセス)だと思いますが、この非常にパフォーマンスが安いメソッドの例外処理は過度のものになるでしょう。

0

基本的にパフォーマンスです。無効な値が必要かどうかのチェックは不要で、例外は必要ありません。例外が必要な場合はvalueメソッドがあります。