のコンパイラサポートを待つのにうんざりしましたnullptr(gcc 4.6はサポートしますが、新しいいくつかのディストリビューションがサポートしています)。
それで、完全にサポートされるまでのストップギャップとして、nullptr私はそれをエミュレートすることにしました。エミュレーションには2つの例があります。1つはここから、もう1つはウィキブックスからです。
注目すべきことに、どちらの実装も。について言及していませんoperator ==。ただし、これがないと、次のコードはコンパイルされません。
int* ptr = nullptr;
assert( ptr == nullptr ); // error here: missing operator ==
このoperator ==エラーはコンパイラのバグですか?より完全にエミュレートするには(および、、、など)が
必要operator ==です!=か?エミュレートされた取引と実際の取引の
違いは他にありますか?<<=nullptrnullptr