1. vector<vector<int>> vec(行数, vector<int>(列数)); 2. vector<vector<int>> vec(行数, vector<int>(列数, 初始值)); 3. vector<vector<int>> vec; vec.resize(行数); vec[i].resize(列数); vec[i] = {值}; 一维长度固定,二维长度可变的二维容器数组 vector<int> v[n] n 为第一...
vector<int> vec1(5);//5个元素全是0 vector<int> vec2(5,9);//5个9 vector<int> vec3(vec2);//拷贝构造,类型一定要一样 vector<int> vec4(vec2.begin(),vec2.end());//迭代器构造 for(int i=0;i<5;i++){//循环遍历 cout<<vec4[i]; } } ``` ### vector的容量 - vec.capaci...
vector<int>vec1={1,2,3};vector<int>vec2(std::move(vec1));// 使用移动语义拷贝vec1//或者...
std::vector<int>myVector(5);// 创建一个包含 5 个整数的 vector,每个值都为默认值(0)std::vector<int>myVector(5,10);// 创建一个包含 5 个整数的 vector,每个值都为 10 或: std::vector<int>vec;// 默认初始化一个空的 vectorstd::vector<int>vec2={1,2,3,4};// 初始化一个包含元素的...
small_vector<int,2> vec指定可以内联在对象中 2 个数据: 当超过 2 个后,后续添加的数据会被分配到堆上,之前的 2 个数据也会被一起 move 到堆上: 使用场景 根据官方文档的介绍,small_vector 在下面 3 种场景中很有用: 需要使用的 vector 的生命周期很短(比如在函数中使用),并且存放的数据占用空间较小...
intmain(){std::vector<int>vec1={1,2,3};std::vector<int>vec2={4,5,6}; // 预分配足够的内存空间vec1.reserve(vec1.size()+vec2.size()); // 使用push_back拼接for(autoit=vec2.begin();it!=vec2.end();++it){vec1.push_back(*it);} ...
我举个例子,比如我定义 vector<int> vec; 然后我想对其进行赋值,vec[2] = 100; 或者vec.at(2) = 100; 这样做程序会报错!!!会提示内存溢出!!vector subscript out of range! 因为一开始并没有说你容器vec究竟有多大,所以vec.at(2)这个位置并没有被分配内存!我们如果直接访问的话就自然有问题了,而push_...
std::vector<int>vec1;// 空的vector,数据类型为intstd::vector<int>vec2(4);// 4个值为0的vectorstd::vector<int>vec3(4,10);// 4个值为10的vector [10 10 10 10]std::vector<int>vec4(vec3.begin(),vec3.end());// [10 10 10 10]std::vector<int>vec5(vec3);// [10 10 10 ...
int arr_int[] = {0, 1, 2, 3, 4, 5}; // 款式1: 从头到尾抄一遍数组arr_int的元素 vector<int> vec_int {begin(arr_int), end(arr_int)}; // 款式2: 也是从头到尾抄一遍数组arr_int的元素 // 注意: 第2个参数是arr_int + 6,要往后多走一步 vector<int> vec_int {arr_int, arr...