/*********************************************************************************
*Tools:VS2017
*Complier:v141
*Project:C++11 Range-Based for 相当与C#中的foreach
*RabgwBasedfor可以逐一迭代某个给定的区间、数组、集合(range,arrage,or collection)
内的每一个元素。
**********************************************************************************/
#include<iomanip>
#include<iostream>
#include<vector>
#include<ctime>
#include<Windows.h>
using namespace std;
template <typename T>
void printElements(const T& coll)
{
for (const auto& elem : coll)
{
cout << elem << " ";
}
//cout << "\n";
}
template <typename T>
void printElement(const vector<T>& coll)
{
//range-based for 的原型
for (auto _pos = coll.begin(); _pos != coll.end(); ++_pos)
{
cout << *_pos << " ";
}
}
int main(int argc, char* argv[])
{
srand(time(NULL));
int intger[5];
for (int i = 0; i < 5; i++)
{
intger[i] = rand();
}
//range based for
for (auto tmp : intger)
{
cout << tmp << " ";
}
cout << endl;
for (auto tmp : { 10,2,3,4,5,6,7,8,9 })
{
cout << tmp << " ";
}
cout << endl;
vector<double> vec;
vec = { 1.1,2.4,2.5,2.8,2.9,3.0 }; //初值列
//printElements(vec);
printElement(vec);
return 0;
}