关于vector的一些疑问
vector< 类型 > 标识符(最大容量,初始所有值)//vector初始化的一种方法,但是对下面一段小程序不能理解
int a[5]={0,1,2,3,3};
//v5被初始化了,他的size是5,初始化成a数组的5个值0 1 2 3 3
vector<int> v5(a,a+5);
vector<int> iVec(10);
cout << iVec << endl;
这是错误的写法,vector没有重载<<运算符
二进制“<<”: 没有找到接受“std::vector<_Ty>”类型的右操作数的运算符(或没有可接受的转换)
#include <iostream>
#include <string>
#include <vector>
#include <cctype>
using namespace std;
/*
*介绍:使用迭代器实现成绩分段,没10分为一个阶段100分单独一个
* !!!不能使用下标操作!!!
*/
int main()
{
int score;
vector<int> iVecScore;
vector<int> iVecRank(11);
vector<int>::iterator iteriVecRank = iVecRank.begin();
cout << "Input test scores: " <<endl;
while (cin >> score)
{
iVecScore.push_back(score);
}
for (vector<int>::iterator iter = iVecScore.begin(); iter != iVecScore.end(); ++iter)
{
if (*iter ==100)
{
*(iVecRank.end()-1) += 1;
//iVecRank[10] +=1;
}
else
{
*(iteriVecRank + *iter/10) +=1;
}
}
for (vector<int>::iterator it = iVecRank.begin(); it != iVecRank.end(); ++it)
{
cout << *it << ' ';
}
cout << endl;
return 0;
}