C++中的nullptr与C#中的null相同吗?

whi*_*kar 8 c# c++ null nullptr

C++中的nullptr与C#中的null相同吗?

似乎没有人在Google或Stackflow上问过这个问题.

Jar*_*Par 13

通常是,都将null值赋给指针类型

  • C#:类,接口,委托或指针类型
  • C++:指针类型或指向成员类型的指针

它不会转换为任何一种语言的数值.但有一点不同的是,在C++中nullptr可以转换为bool.在C#中不是这样


Mic*_*yan 5

是的。在 C++ 中,nullptr相当于null在 Java、C# 和各种其他语言中。在 C++11 之前,它是标准使用NULL(这是一个定义为 0 的宏);然而,nullptr实际上确保它只能在指针的上下文中使用(而NULL,由于已定义为 0,因此也可以用作返回 anint而不是指针的函数的返回值,这是违反直觉的) ,尽管nullptrNULL都可以隐式转换为bool