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