标签:
1.vector初始化方法
1.1vector、list、deque、string初始化方法
//四种初始化方法 //初始化方法1 //1.10个1; vector<int> vec1(10, 1); vector<int> vec2{0,1,2};//列表初始化 vector<int> vec3; //2.初始化方法2 //2.1要求有相同的容器类型和元素类型 vec3 = vec2;//拷贝初始化 //3.初始化方法3 //3.1同vec2 vector<int> vec4 = { 0, 1, 2, 3, 4 }; //4.初始化方法4 //4.1要求元素类型相同 vector <int> vec5(vec2.crbegin(), vec2.crend());
1.2 array初始化方法,c中数组概念不支持拷贝,但是容器array支持赋值操作,具体如下:
array<int, 10> digits = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; array<int, 10> copy = digits;
2.赋值运算
names.assign(names.cbegin(),names.cend()) //同一个容器names
//验证使用swap不改变迭代器、指针、引用,而赋值改变 vector<int> vec1{ 5, 6, 7, 8, 9}; vector<int> vec2{ 0, 1, 2, 3, 4, 5, 6 };//列表初始化 vector<int> vec3; //1.用swap进行赋值运算,交换vec1和vec2 vec1.swap(vec2); for (vector<int>::iterator it = vec1.begin(); it!= vec1.end(); ++it) { cout << *it << " "; } cout << endl; //2.直接赋值vec3 =vec2 vec3 = vec2; for (vector<int>::iterator it = vec3.begin(); it != vec3.end(); ++it) { cout << *it << " "; }
//1.10个1; vector<int> vec1(10, 1); vector<int> vec2{0,1,2,3,4,5,6,7,8,9};//列表初始化 vector<int> vec3{0,1,2}; //2.初始化方法2和赋值 //2.1要求有相同的容器类型和元素类型 //vec3 = vec2;//拷贝初始化 swap(vec3, vec2); //vec2{0,1,2};vec3{0,1,2,3,4,5,6,7,8} //3.初始化方法3 //3.1同vec2 vector<int> vec4 = { 0, 1, 2, 3, 4 }; //4.初始化方法4 //4.1要求元素类型相同 vector <int> vec5(vec2.crbegin(), vec2.crend()); //vec5{2,1,0} //5.初始化方法和赋值 //swap函数 vector<int> vec6; vec6.swap(vec5);//vec5{};vec6{2,1,0} //6.初始化方法和赋值 //assign vector<int> vec7; //6.1两个迭代器间隔赋值{2,3,4,5,6,7} vec7.assign(vec3.cbegin() + 2, vec3.cend() - 2); //将元素替换为初始化列表i1中的元素 vector<int> vec8; vec8.assign(10, 2);
3.关系运算符
标签:
原文地址:http://www.cnblogs.com/lwflourish/p/4204457.html