Теперь у нас есть С++ 11 со многими новыми функциями. Интересным и запутанным (по крайней мере для меня) является новый nullptr
.
Ну, больше не нужно для неприятного макроса NULL
.
int* x = nullptr;
myclass* obj = nullptr;
Тем не менее, я не понимаю, как работает nullptr
. Например, Статья в Википедии говорит:
С++ 11 исправляет это, введя новое ключевое слово , чтобы служить в качестве выделенной константы нулевого указателя: nullptr. Он имеет тип тип nullptr_t, который неявно конвертируется и сопоставим с любым типом указателя или типом указателя на член. Он не является неявно конвертируемым или сопоставимым с целыми типами, за исключением bool.
Как это ключевое слово и экземпляр типа?
Кроме того, есть ли у вас другой пример (помимо Википедии), где nullptr
превосходит старый добрый 0
?