从函数 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
还是返回 foo
、bar
的定义?
甚至在编译源代码之前,源代码中的 foo
实例将被替换为 bar
实例。这称为 preprocessing 并且它在编译器之前被启动。编译器不会看到像 return foo
这样的语句,而是会看到 return bar
。
因此,您将从本例中的函数返回 bar
(让 bar
成为您在别处定义的内容)。
所以我在程序的顶部有一些定义语句
#define foo bar
#define three 3
等
我的问题是,如果我有一个函数会说
#define foo bar
string returnDef(){
return foo;
}
int main(){
string foobar = returnDef();
return 0;
}
我会返回消息 foo
还是返回 foo
、bar
的定义?
foo
实例将被替换为 bar
实例。这称为 preprocessing 并且它在编译器之前被启动。编译器不会看到像 return foo
这样的语句,而是会看到 return bar
。
因此,您将从本例中的函数返回 bar
(让 bar
成为您在别处定义的内容)。