C++ 头文件 #define Function(x) ('ABC\0' | ('0' +(x &0xFF)))

标签 c++ visual-c++ header

我在 C++ 头文件中找到了这个定义

#define Function(x) ('ABC\0' | ('0'+(x & 0 x FF)))

这是什么意思?

最佳答案

因为,你刚刚引用了头文件中的一行,如果你尝试运行它,它会显示错误。 但是,我可以向您解释这是什么意思,

如果您在程序的任何地方调用Function(x),它将被替换为'ABC\0' | ('0'+(x & 0 x FF))

例如, 如果你这样写

int main(){
    if (Function('DEF'))
        cout << "True" << endl;
    return 0;
}

如果第二个x是乘数,会被下面的代码代替,

int main(){
    if ('ABC\0' | ('0' + ('DEF' & 0 x FF)))
        cout << "True" << endl;
    return 0;
}

请阅读this以便更好地理解。

关于C++ 头文件 #define Function(x) ('ABC\0' | ('0' +(x &0xFF))),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39262096/

相关文章:

c++ - 静态初始化命令惨败

c++ - 如何检查 vector 是否指向 C++ 中二维 vector 中的空 vector ?

c++ - 井字游戏 - 如何在无效输入后不打印结果

c++ - MSVC2015 中的固定基地址

来自 PHP 的 print_r() 的 C++ 等价物?

c++ - 'to_string' 未知覆盖说明符

html - 将标题定位在中心

c++ - 为什么 std::to_string 不支持容器类作为输入?

c++ - Visual C++ TODO 任务列表不显示元素

javascript - Ajax缓存控制