从函数 c++ 返回宏

Returning macro from function c++

所以我在程序的顶部有一些定义语句

#define foo bar
#define three 3

我的问题是,如果我有一个函数会说

#define foo bar
string returnDef(){
return foo;
}

int main(){
    string foobar = returnDef();
    return 0;
}

我会返回消息 foo 还是返回 foobar 的定义?

甚至在编译源代码之前,源代码中的

foo 实例将被替换为 bar 实例。这称为 preprocessing 并且它在编译器之前被启动。编译器不会看到像 return foo 这样的语句,而是会看到 return bar

因此,您将从本例中的函数返回 bar(让 bar 成为您在别处定义的内容)。