练习3.43
编写3个不同版本的程序,令其均能输出ia的元素。版本1使用范围for语句管理迭代过程;版本2和版本3都使用普通的for语句,其中版本2要求用下标运算符,版本3要求用指针。此外,在所有3个版本的程序中都要直接写出数据类型,而不能使用类型别名、auto关键字或decltype关键字。
#include <iostream> //#include <vector> using namespace std; int main() { int ia[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}; for( int (&c)[4]:ia){ for(int &b:c){ cout<<b<<endl; } } return 0; }
#include <iostream> //#include <vector> using namespace std; int main() { int ia[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}; for(int i=0;i<3;i++){ for(int j=0;j<4;j++) cout<<ia[i][j]<<endl; } return 0; }
#include <iostream> #include <iterator> using namespace std; int main() { int ia[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}; for(int(*p)[4]=begin(ia);p!=end(ia);p++){ for(int *q=begin(*p);q!=end(*p);q++) cout<<*q<<endl; } return 0; }