intv = vec[0];//可以访问 //vec.push_back(4); //不能改变元素数量 //vec[0] = 4; //不能修改元素值 } 这里有一个地方要注意,当以const声明一个vector时,若想定义一个指针指向该vector中的元素,则指针也必须声明为const 1 2 3 4 5 6 intmain() { constvector<int> vec{ 1, 2, 3 }; ...
1、const vector <int> vec(10) ——与const int a[10]是一回事,意思是vec只有10个元素,不能增加了,里面的元素也是不能变化的 1 2 3 4 5 6 vector<int> a(10); constvector<int> b(10); a[1]=10;//正确 b[1]=10;//错误 a.resize(20);//正确 b.resize(20);//错误 2、关于vector<co...
std::vector<int>Vec;conststd::vector<int>::iteratorIter=Vec.begin();//const放在迭代器类型的前面,相当于T* const*Iter=10;//正确,T* const能修改指向变量的值++Iter;//错误!!!T* const不能指向其他地址std::vector<int>::const_iteratorConstIter=Vec.cbegin();//const_iterator相当于const T**Con...
是容器const_iterator类型
int main() { vector<string> svec; string word; while (cin>>word) svec.push_back(word); for (vector<string>::iterator iter=svec.begin();iter!=svec.end();++iter) //因要改写,故应用iterator for (string::iterator iter2=(*iter).begin();iter2!=(*iter).end();++iter2) ...
std::vector<int> vec; ... std::vector<int>::iterator iter = vec.begin(); const std::vector<int>::iterator iter = vec.begin(); //iter 这个指针是常量,相当于 T * const p *iter = 10; //正确 iter++; //错误 std::vector::const_iterator iter = vec.begin(); //相当于 const T...
Vector<int>::const_iterator citer =vec.begin(); *citer = 10; //错误 ++citer;// 能够 Cost成员函数 将const作用域成员函数的目的,是为了确认该成员函数可作用于const对象身上。 C++有着十分固定的“成员初始化次序”。次序总是同样:base classes更早于其derived classes被初始化。而class的成员变量总是以...
std::vector<int>vec;...// iter的作用像个 T* constconststd::vector<int>::iterator iter=vec.begin();// 没问题,改变iter所指物*iter=10;// 错误,iter是const++iter;// cIter的作用像个 const T*std::vector<int>::const_iterator cIter=vec.begin();// 错误,*cIter是const*cIter=10;// 没...
iterator,因为可以被修改的东西,限制为不修改,有可能被准许,反之不然 这类受限情况如:void f(const int*);void g(int*);void h(int* p, const int* cp){ f(p); f(cp); g(p); g(cp);// 唯此不可,因const int*更受限,不可作为不那么受限的g的实参.} ...
const int是整型常量类型,说明for中的局部变量val不能在for的循环体中被修改。整个函数Find的作用是查找向量容器array(array中包含的是子向量)中的各个子向量(子向量中包含的是整数),看是否有包含整数target。如果有包含就返回true,否则就返回false。