gpt4 book ai didi

c++ - 运行具有几乎相似变量的函数c++

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

假设我们有一些名为 var1, var2 , ..., var100 的变量。

如何使用 for 循环调用一个名为 func() 的函数。我是说我该怎么办更改此有效的代码?

for (int counter{1}; counter <= 100; ++counter) {

cout << func(var+counter);
}

最佳答案

没有1 方法可以做到。请改用数组。


1

you know there is no impossible in computer world :D
— OP

如果您真的想搬起石头砸自己的脚,一个方法:Boost.Preprocessor。

#include <boost/preprocessor/repetition/repeat.hpp>

// ...

int main()
{
#define FOO(unused0, index, unused1) cout << func(var##index);
BOOST_PP_REPEAT(101, FOO,)
#undef FOO
}

(请注意,此代码段与 var0、...var100 交互,而不是 var1、... var100 你要求的。更改第一个索引留给读者作为练习。提示:它不能用 BOOST_PP_REPEAT 完成,你需要一个不同的宏。)

有一些注意事项:

  • 必须在编译时知道变量的数量,并且它必须是预处理器常量(即 101 verbatim 确实有效,但是 const int n = 101; 甚至 100+1 不要)。
  • “迭代”的数量有硬性限制。 (256 默认情况下,可能会增加)。
  • 这可能会增加您的构建时间。

关于c++ - 运行具有几乎相似变量的函数c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58205979/

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