C++学习札记20140311

来源:互联网 发布:ae数据图表模板 编辑:程序博客网 时间:2024/06/03 20:56

关于vector的一些疑问

vector< 类型 > 标识符(最大容量,初始所有值)//vector初始化的一种方法,但是对下面一段小程序不能理解

int a[5]={0,1,2,3,3};//v5被初始化了,他的size是5,初始化成a数组的5个值0 1 2 3 3vector<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;}


0 0