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

时间:2014-03-21 05:27:25

标签: c# c++ null nullptr

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

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

3 个答案:

答案 0 :(得分:13)

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

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

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

中不是这样

答案 1 :(得分:4)

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

答案 2 :(得分:0)

是的,它是一样的。它是无效指针。