C++ 中的 nullptr 与 C# 中的 null 相同吗?
似乎没有人在 Google 或 Stackflow 上问过这个问题。
通常是的,两者都将空值分配给类似类型的指针
它不会转换为任何一种语言的数值。不过,一个区别是在 C++nullptr
中可以转换为bool
. 这在 C# 中是不正确的
是的。在 C++ 中,nullptr
相当于null
在 Java、C# 和各种其他语言中。在 C++11 之前,它是标准使用NULL
(定义为 0 的宏);然而,nullptr
实际上确保它只能在指针的上下文中使用(而NULL
,由于被定义为 0,也可以用作返回 anint
而不是指针的函数的返回值,这是违反直觉的) , 尽管两者nullptr
和NULL
都可以隐式转换为bool
.
Yes, it is the same. It is the invalid pointer.