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

标签 c++

谁能告诉我这是什么意思?

(::Type*)0

其实是这个的一部分

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

最佳答案

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

它应该只使用 nullptr - 如

return is_modifyCurrentTrip() ?
    u.modifyCurrentTrip : nullptr; 

注意:使用 ::显式指定全局命名空间可防止编译器自行添加任何命名空间名称 - 这在仅使用 nullptr 时完全不相关。虽然。

关于c++ - C++ 中的运算符 (::Type*)0 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56259783/

相关文章:

c++ - Visual Studio 2010 C++ 的调试问题 - 显示奇数​​值

c++ - 输入未清除

用于打印标尺的 C++ 递归函数不起作用。

C++:多行字符串常量中的行尾是否有标准定义?

c++ - 怎么可能写 f( *this, std::forward<Args>(args)... ) 而 f 只用 F f 声明;

c++ - 如何检查系统是否有足够的资源供另一个线程使用?

c++ - 在 C++ 中计算文本文件中的文本行数时出错

c++ - 从 MATLAB 调用 C++ 代码?

c++ - 为什么将未使用的返回值转换为 void?

c++ - 如何使用基于范围的循环语法遍历 STL 容器中的连续对?