gpt4 book ai didi

c++ - 将 << 值传递给宏

转载 作者:行者123 更新时间:2023-11-30 03:50:29 26 4
gpt4 key购买 nike

我想制作可以处理传递给它的流的宏。如何处理“<<”传递的宏体中的“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");
}

Live Example

关于c++ - 将 << 值传递给宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31747912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com