听说 NULL 等价于 .net nullptr 而 0 不等价于 .net nullptr。为什么?我认为 NULL 是一个等于 0 的宏?
问问题
337 次
1 回答
1
我取决于您是在谈论非托管指针还是托管句柄。关于指针,请参考此处文档的引用:
以下示例显示 nullptr 和 zero 可以在本机指针上互换使用。
但是,如果您谈论的是托管句柄,那么您不能使用 0,如同一页面的此引用中所述:
您不能将句柄初始化为零;只能使用 nullptr。将常量 0 分配给对象句柄会产生一个装箱的 Int32 和对 Object^ 的强制转换。
于 2011-02-10T07:10:42.010 回答