我厌倦了等待编译器支持nullptr
(gcc 4.6 确实如此,但它是如此新的几个发行版支持它)。
因此,作为nullptr
完全支持之前的权宜之计,我决定效仿它。有两个模拟示例:一个来自这里,另一个来自wikibooks。
值得注意的是,两个实现都没有提到operator ==
. 但是,没有一个,下面的代码将无法编译。
int* ptr = nullptr;
assert( ptr == nullptr ); // error here: missing operator ==
这个operator ==
错误是编译器错误吗?(和、、、等)
是否需要更完美地模仿?模拟交易和真实交易
之间还有什么不同?operator ==
!=
<
<=
nullptr
nullptr