gpt4 book ai didi

c - 重用/递增 C 宏定义?

转载 作者:行者123 更新时间:2023-11-30 16:04:23 26 4
gpt4 key购买 nike

有没有办法做到:

#define  A f1();
#define A A f2(); // this is wrong
#define A A f3(); // this is wrong
...
#define A A fn(); // this is wrong

A

然后得到

f1(); f2(); f3();  ... fn();

最佳答案

您可以使用 boost 预处理器库。它可以迭代宏等等:

http://www.boost.org/doc/libs/1_43_0/libs/preprocessor/doc/index.html

编辑:我阅读了您的评论,并将继续关注比以下代码更简单的解决方案;-):

#include <boost/preprocessor/repetition/repeat.hpp>
#define A(z, n, text) text ## n = 0;
BOOST_PP_REPEAT(3, A, int x)

生成

int x0 = 0; int x1 = 0; int x2 = 0;

请注意,这不是一个严格的解决方案,因为它没有定义重复另一个宏的宏,而是重复已定义的宏。

关于c - 重用/递增 C 宏定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3165314/

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