Я устал ждать поддержки компилятором nullptr
( gcc 4.6 поддерживает , но это так много новых дистрибутивов поддерживает).
Итак, остановимся пробел до тех пор, пока nullptr
не будет полностью поддержан. Я решил эмулировать его. Есть два примера эмуляции: один из здесь , и один из викибуков .
Следует отметить, что ни одна из реализаций не упоминает operator ==
. Однако без него следующий код не будет компилироваться .
int* ptr = nullptr;
assert( ptr == nullptr ); // error here: missing operator ==
Является ли эта ошибка operator ==
ошибкой компилятора?
Требуется ли operator ==
(и ! =
, ,
и т. Д.) Для более точной эмуляции
nullptr
?
Чем еще отличается эмулированный nullptr
от реальной сделки?