PS:该代码应该只能在VS中使用,而不能通过GCC编译器编译...
#include <iostream> //引用标准输入输出头文件
using namespace std; //引用std命名空间
#define cp(s) cout << s << endl; //一个带参数的代码宏
void main()
{
// 初始数组,C++中的数组下标指定的是数组的最大长度,这与.NET是不同的
int ia[10] = {0,1,2,3,4,5,6,7,8,9};
int ii = 0; //数组索引变量
// 开始 for each 迭代,这里是普通迭代,迭代变量的改变并不会改变数组
for each(int i in ia)
{
i++; //变量自增
cp(ia[ii++]); //使用参数宏替换代码
}
ii = 0; cp(' '); //初始化索引,并对输出进行分行
// 这里开始进行取位迭代,关键就在迭代变量的取位符 & 上,
// 在此段代码中,对于迭代变量的任何改变会直接影响数组。
for each(int &i in ia)
{
i++; //这里的自增将影响数组中的变量值
cp(ia[ii++]);
}
cin.get();
}