C++ Primer_基本语言_标准库类型_容器迭代器

来源:互联网 发布:java基础入门怎么样 编辑:程序博客网 时间:2024/05/16 10:28
#include<iostream>#include<vector> using namespace std;void PrintVector(vector<int> v)//vector不是一种数据类型只是一个类模板,vector<int>才是一种数据类型{cout<<"Print Called !"<<endl;for(vector<int>::const_iterator iter=v.begin();iter!=v.end();iter++)//const_iterator类型只能用于读取容器内的元素但不能改变其值cout<<*iter<<" ";cout<<endl;}int main(){vector<int>intbox;int t;while(cin>>t)intbox.push_back(t);cout<<"迭代器访问"<<endl;for(vector<int>::iterator iter=intbox.begin();iter!=intbox.end();iter++)//end操作返回的迭代器并不指向vector中的任何实际元素,他只是一个哨兵(sentinel)cout<<*iter<<" ";cout<<endl;cout<<"下标访问"<<endl;//下标只能用来获取已知的元素//不能用来改变元素值for(int i=0;i<intbox.size();i++)//size()这样的小库函数一般都定义为内联函数运行时代价是比较小的cout<<intbox[i]<<" ";cout<<endl;//初始化//内置类型用0值初始化//带构造函数的用默认构造函数初始化vector<int>v1(intbox);PrintVector(v1);vector<int>v2(10,0);//10个0PrintVector(v2);vector<int>v3(6);//6个初始值PrintVector(v3);//const vector<int>nines(10,9);//const的容器类型不能改变容器内的元素的值PrintVector(nines);const vector<int>::iterator iter1=intbox.begin();//const的iterator对象,不能改变值//iter1++;不能实现该操作vector<int>::const_iterator iter2=nines.begin();//*iter2=3;不能实现该操作iter2++;system("pause");    return 0;}

原创粉丝点击