2、关于vector<const int> ,在GCC下是没有这种用法的,编译不过,不过在VS2005下这样是可以的,不过它好像是把其当作vector<int>来处理的,赋值和resize都是可以的。
1std::vector<int> v(10,1);2constvector<int>::iterator it1 =v.begin();3//it1++;//改变it1的值是非法的4*it1 +=1;5cout << *it1 << endl;//输出267vector<int>::iteratorconstit2 =v.begin();8//it2 = v.end();//改变it2的值是非法的9cout << *it2 << endl;//输出210*it...
1.const vector <int> vec(10) ——与const int a[10]是一回事,意思是vec只有10个元素,不能增加了,里面的元素也是不能变化的 vector<int> a(10); const vector<int> b(10); a[1]=10;//正确 b[1]=10;//错误 a.resize(20);//正确 b.resize(20);//错误 2.关于vector<const int> ,在GCC...
const_vector与const 的vector对象的区别 使用const_vector的类型时,我们可以得到一个迭代器,它自身的值可以改变,但不能改变其所指向元素的值, 可以对迭代器进行自增以及解引用操作符来取值,但不能对该元素赋值。 范例: vector<string> ivec(5, "hi"); for (vector<string>::const_iterator iter = ivec.be...
const vector< int > & vi 同样的道理,vi是int类型的vector容器对象,&表示对此的引用,用来向函数里面传送数据。vector是一种容器,用它可以实现动态数据的创建,如数据的增加,删除(pop_back或者push_back)等操作。它可以使用迭代器iterator来进行操作,如对容器中数据的遍历等。
int型
const vector<int>::iterator中,const是修饰的迭代器,也就是是个常迭代器,一旦初始化比如=a.begin(),再不能更改它的值,比如赋值=a.end()是不行的,递增递减操作等都不允许。 虽然类似指针,但指针是内置类型,所以编译器可以通过const的位置来判断是常指针还是指向常量的指针,而迭代器只是一个对象,所以编译器不...
typevector<T>(where is T is a custom class, but it could be int as well.) I have a function from which I want to return a pointer to this vector, but I don't want the caller to be able to change the vector or it's items. So I want the return type to beconst vector<const...
一个是迭代器指针 一个是迭代器
vector,无论你是不是const,它都是堆储存,initialize_list的本质只是使常量数组能够规范的向下传递,它...