我想在C++中做一些非常简单但我无法找到的东西.我想创建一个像for循环这样的函数,理想情况下我会在迭代发生的时候输入一个变量,并且我的函数将在括号内执行一些函数.我希望我很清楚.谢谢...
例
superFor (1) { //commands to be executed here add(1+2); }
user9282.. 9
#define superFor(n) for(int i = 0; i < (n); i++)
编辑:注意不要在循环中使用另一个名为i的变量.
#define superFor(n) for(int i = 0; i < (n); i++)
编辑:注意不要在循环中使用另一个名为i的变量.
你想要的东西在C++中是不可能的,因为(当前版本的)语言缺少这里需要的一些功能:即,"动态"创建功能块.
您可以做的最好的事情是将函数指针或函数对象传递给您的函数.STL提供了许多这方面的例子.考虑:
void out(int x) { cout << x << ' '; } vectorxs; xs.push_back(42); xs.push_back(23); for_each(xs.begin(), xs.end(), out);
这将函数指针传递out
给函数for_each
.