1#include <iostream>2#include <vector>3#include <string>45usingnamespacestd;67constintNUM =5;89intmain()10{11vector<int>vec1(NUM);12vector<int>vec2(NUM);1314inti;15for(inti =0; i < NUM; i++)16{17vec1[i] = i *5;18vec2[i] = i +3;19}2021for(inti =0; i < NUM; i+...
int main() { int ar[10] = { 1,2,3,4,5,6,7,8,9,0 }; std::vector<int> vec5(ar, ar + 10); // reverse size_t cap1 = vec5.capacity(); // = 10 vec5.reserve(20); // = Request a change in capacity size_t cap2 = vec5.capacity(); // = 20 // data() int ...
#include<iostream>#include<vector>intmain(){// 创建一个空的 vector 容器std::vector<int>vec;// 向 vector 容器中添加元素vec.push_back(10);vec.push_back(20);vec.push_back(30);// 获取 vector 容器的大小std::cout<<"Vector size: "<<vec.size()<<std::endl;// 遍历 vector 容器并打印每...
std::vector<int> vec = {1,2,3}; auto func = [=](){ auto vec2 = std::move(vec); std::cout << vec.size() << std::endl; // 输出:3 std::cout << vec2.size() << std::endl; // 输出:3 }; 代码可在wandbox运行。 我们期望的是,将对变量vec调用std::move后,数据将会移动至...
std::vector在某些情况下可能会比其他容器慢,但这取决于具体的使用场景 预分配内存:在向std::vector添加元素之前,可以使用reserve预先分配足够的内存空间,以避免在向量空间不足时频繁重新分配内存。这可以提高性能。 代码语言:javascript 复制 std::vector<int>vec;vec.reserve(1000);// 预分配1000个整数的空间 ...
std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用初始化列表 1. 2. 总结 std::array和std::vector在 C++ 中各有其适用场景。std::array适用于需要高性能和固定大小的数据存储,而std::vector则提供了动态调整大小的灵活性,适用于数据量不确定或需要频繁操作的场景。选择使用哪种容器应根据具体的需...
std::vector<int> vec = {1, 2, 3, 4, 5}; std::for_each(vec.begin(), vec.end(), [](int& n) { n *= 2; }); for (int n : vec) std::cout << n << " "; return 0; } 5. 右值引用和移动语义 C++11引入了右值引用和移动语义,允许更高效的资源管理,特别是在对象的复制和移...
vector<int> g_vec; g_vec.push_back(22); cout << g_vec[0] << endl; //时间复杂度 1 g_vec.pop_back(); //删除 1. 2. 3. 4. 插入 AI检测代码解析 vector<int> g_vec; g_vec.push_back(22); cout << g_vec[0] << endl; //时间复杂度 1 ...
std::vector<int> vec; vec.reserve(1000); // 预分配大量内存 vec.push_back(1); vec.push_back(2); vec.shrink_to_fit(); // 请求释放多余内存 2. 交换技巧 如果shrink_to_fit 没有达到预期效果,或者你想更积极地释放内存,可以使用交换技巧。这种方法通过创建一个临时的空 vector,然后将当前 vector...
以下是std::vector的一些基本用法: 1. 创建和初始化: 默认初始化:vector<int> vec; 默认初始化创建一个空的vector。 指定大小和初始值:vector<int>vec(10, 0); 创建一个包含10个元素的vector,所有元素初始化 为0。 拷贝初始化:vector<int> vec2 = vec1; 将vec1的内容拷贝到vec2中。 列表初始化:...