9

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

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

4

3 回答 3

13

通常是的,两者都将空值分配给类似类型的指针

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

它不会转换为任何一种语言的数值。不过,一个区别是在 C++nullptr中可以转换为bool. 这在 C# 中是不正确的

于 2014-03-21T05:31:11.393 回答
5

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

于 2014-03-21T05:31:58.447 回答
0

Yes, it is the same. It is the invalid pointer.

于 2014-03-21T05:30:35.963 回答