代码改变世界

const_iterator和const iterator的区别

2012-03-27 21:14  Rollen Holt  阅读(632)  评论(0编辑  收藏  举报
#include <iostream>
#include <string>
#include<fstream>
#include <algorithm>
#include <iterator>
#include <vector>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{	
	vector<int> myVec;
	myVec.push_back(0);
	myVec.push_back(1);
	myVec.push_back(2);

	copy( myVec.begin(),myVec.end(),ostream_iterator<int>( cout," " ));
	cout<<endl;
	const vector<int>::iterator cite = myVec.begin();
	*cite = 10; //可行
	//++cite; //错啦错误
	copy( myVec.begin(),myVec.end(),ostream_iterator<int>( cout," " ));
	cout<<endl;
	vector<int>::const_iterator icte = myVec.begin();
	// *icte = 100; //error C3892: “icte”: 不能给常量赋值
	++icte; //可行
	copy( myVec.begin(),myVec.end(),ostream_iterator<int>( cout," " ));
	cout<<endl;
	return 0;
}