std::vector<int> vec{1, 2, 3, 4, 5}; // 比较 std::vector<int> vec(5); vec[0] = 1; vec[1] = 2; vec[2] = 3; vec[3] = 4; vec[4] = 5; 我相信没人会喜欢下面C++98的元素构造方式。这样使用{}进行直接构造元素的方法在事实上已经成为了vector等容器最常用的构造方法(大概没...
for (vector<int>::iterator it = vec.begin(); it != vec.end();) { if (*it == 4) { it = vec.erase(it); } else { it++; } } 再来看这么写的问题: vector<int> vec = { 1,2,4,4 }; for (vector<int>::iterator it = vec.begin(); it != vec.end();) { if (*it =...
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 删除第3个元素(索引为2的元素) vec.erase(vec.begin() + 2); // 输出结果 for(int num : vec) { std::cout << num << " "; } std::cout...
以下是std::vector的一些基本用法: 1. 创建和初始化: 默认初始化:vector<int> vec; 默认初始化创建一个空的vector。 指定大小和初始值:vector<int>vec(10, 0); 创建一个包含10个元素的vector,所有元素初始化 为0。 拷贝初始化:vector<int> vec2 = vec1; 将vec1的内容拷贝到vec2中。 列表初始化:...
std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用迭代器遍历容器 for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) { std::cout << *it << ' '; } std::cout << std::endl; // 使用范围for循环遍历容器(C++11及以后) for (int num : vec) {...
std::vector<int> vec3(5, 100); // 创建一个包含5个元素的vector,所有元素初始化为100 } 1. 2. 3. 4. 5. 6. 7. 8. 在上述代码中,vec是一个空的vector,vec2是一个包含10个默认初始化元素的vector,而vec3则是包含5个值为100的元素。
#include <iostream> #include <algorithm> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 查找元素3在容器中的位置 auto it = std::find(vec.begin(), vec.end(), 3); // 判断元素是否找到 if (it != vec.end()) { std::cout << "元素3找到,位置...
auto vec2 = std::move(vec); }; // 转换后 class ClosureFunc{ public: void operator() const{ auto vec2 = std::move(vec); }; private: std::vector<int> vec; }; ClosureFunc func; 这里需要注意, lambda的默认行为是,生成的闭包类的**operator()**默认被const修饰。
std::array<int, 5> arr; std::vector:声明时可以指定大小(但不是必须的),且支持多种初始化方式。例如: std::vector<int>vec(5);// 创建一个包含 5 个元素的 vector,元素默认初始化为 0std::vector<int> vec = {1,2,3,4,5};// 使用初始化列表 ...
std::vector<int> vec2(1*1024*1024*1024*1/4, 1);// 1G std::vector<int> vec3; vec3.assign(10,0); std::vector<int> vec4; vec4.resize(10); boolis = vec2 == vec3; // 使用数组初始化 intar[10] = {1,2,3,4,5,6,7,8,9,0}; ...