C++中的运算符- (::Type*)0 是什么意思?

7

有人可以告诉我这是什么意思吗?

(::Type*)0

实际上它是这个的一部分

return (is_modifytype()) ?
u.myfunction : (::Type*)0; 

21
这意味着这是旧代码,应该重写以使用 nullptr - Sam Varshavchik
1个回答

16

这意味着将整数0(使用C风格转换)转换为全局命名空间::中找到的类型Trip*Trip指针)。

应该只使用nullptr - 如下:

return is_modifyCurrentTrip() ?
    u.modifyCurrentTrip : nullptr; 
注意:在显式使用 :: 表示全局命名空间时,会防止编译器自动添加任何命名空间名称 - 但是当只使用 nullptr 时,这完全不相关。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接