对于具有多维的数组,我们通常需要为每个维编写一个 for
循环。例如:
vector< vector< vector<int> > > A;
for (int k=0; k<A.size(); k++)
{
for (int i=0; i<A[k].size(); i++)
{
for (int j=0; j<A[k][i].size(); j++)
{
do_something_on_A(A[k][i][j]);
}
}
}
double B[10][8][5];
for (int k=0; k<10; k++)
{
for (int i=0; i<8; i++)
{
for (int j=0; j<5; j++)
{
do_something_on_B(B[k][i][j]);
}
}
}
在我们的代码中经常可以看到这种 for-for-for
循环。如何使用宏来定义 for-for-for
循环,从而不必每次都重写这类代码?还有更好的办法吗?