gpt4 book ai didi

c++ - 我如何为连接字符串生成可变参数宏

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:06 26 4
gpt4 key购买 nike

我卡在这里了...

#define CONCAT(a,b) BOOST_PP_STRINGIZE(BOOST_PP_CAT(a,b))<br/>#define CONCAT1(a,b,c) CONCAT(CONCAT(a,b),c) and so on.

即使有 20 个参数,我如何生成 CONCAT 宏?也许我可以使用 BOOST_PP_SEQ_FOR_EACH 但我不知道该怎么做?

最佳答案

这取决于您的用例。

这个

#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/stringize.hpp>
#include <boost/preprocessor/seq/for_each.hpp>

#define SEQ (a)(b)(c)

BOOST_PP_STRINGIZE(BOOST_PP_SEQ_CAT(SEQ)) // "abc"

将连接序列,然后将其字符串化。也可以简单地将每个参数字符串化为 "a""b""c" 等同于 "abc"

#define MY_STRINGIZE(r, data, elem) BOOST_PP_STRINGIZE(elem)
BOOST_PP_SEQ_FOR_EACH(MY_STRINGIZE, _, SEQ)

关于c++ - 我如何为连接字符串生成可变参数宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11575241/

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