HY-MT1.5-7B部署案例:微服务架构集成方案
2026/1/11 4:00:42
std::vector是 C++ 标准模板库(STL)中的动态数组容器,支持随机访问、动态扩容和高效的元素操作。其底层通过连续内存空间实现,兼具数组的高效性和动态扩展的灵活性。
#include <vector> std::vector<int> vec1; // 空向量 std::vector<int> vec2(5, 10); // 5个元素,初始值为10 std::vector<int> vec3 = {1, 2, 3}; // 列表初始化vec1.push_back(4); // 尾部插入元素 vec1.pop_back(); // 删除尾部元素 vec1.size(); // 返回元素数量 vec1.empty(); // 判断是否为空 vec1[0]; // 随机访问(不检查边界) vec1.at(0); // 带边界检查的访问 vec1.clear(); // 清空所有元素vector在插入元素时若容量不足,会自动分配更大的内存(通常为当前容量的 2 倍或 1.5 倍),并将旧元素拷贝到新内存。reserve()预分配空间以避免频繁扩容:vec1.reserve(100); // 预分配100个元素的空间// 范围for循环(C++11) for (int x : vec1) { std::cout << x << " "; } // 迭代器遍历 for (auto it = vec1.begin(); it != vec1.end(); ++it) { std::cout << *it << " "; }| 特性 | vector | list | deque |
|---|---|---|---|
| 内存布局 | 连续 | 非连续 | 分段连续 |
| 随机访问 | O(1) | O(n) | O(1) |
| 中间插入/删除 | O(n) | O(1) | O(n) |
std::sort(vec1.begin(), vec1.end()); vec1.erase(std::unique(vec1.begin(), vec1.end()), vec1.end());std::vector<std::vector<int>> matrix(3, std::vector<int>(4)); // 3x4矩阵push_back(),优先使用reserve()预分配空间。<vector>和命名空间std。