我想制作一个可以处理传递给它的流的宏。如何处理通过“<<”传递的宏体中的“hello”
#define MY_MACRO(){std::cout<<value;}
int _tmain(int argc, _TCHAR* argv[])
{
MY_MACRO<<"hello";
return 0;
}
最佳答案
宏执行文本替换。如果我们扩展它,您的来源将变为:
{std::cout<<value;}<<"hello";
这是行不通的。
现在您可以将宏重写为:
#define OUTPUT(x) std::cout << x
你会这样使用它:
#include <iostream>
#include <string>
#define OUTPUT(x) std::cout << x
int main(int argc, char **argv)
{
OUTPUT("test");
}
关于c++ - 将 << 值传递给宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31747912/