vector基础操作
- //vector< T> vec; //构造一个名为vec的储存数据类型为T的动态数组。其中T为需要储存的数据类型
- //初始时vec为空
- //push_back 末尾添加一个元素
- //pop_back 在末尾弹出一个元素
- //size 获取长度
- size_type size() const; Return size Returns the number of elements in the vector.
- This is the number of actual objects held in the vector, which is not
necessarily equal to its storage capacity.
- //clear 清空
- //修改vector其中的某个元素,直接赋值,比如vec[1]=3; //修改vector其中的某个元素,直接赋值,比如vec[1]=3;
-
//vector的方法size()可以直接获取长度,通过[]可以直接获取其中的元素,和数组相同
-
//clear()会清空vector中内容,但是不会重新分配空间
- 如果需要清空vector的内存,一种典型的方法是使用交换, 即使用一个空的vector和原来的vector进行交换,完成内存的释放
vector< int>vec;
{
vector< int> x;
vec.swap(x);
}
- 下面是官方文档关于clear()的描述:
C++官方文档
Clear content
Removes all elements from the vector (which are destroyed), leaving the container with a size of 0.
A reallocation is not guaranteed to happen, and the vector capacity is not guaranteed to change due to calling this function. A typical alternative that forces a reallocation is to use swap:
vector().swap(x); // clear x reallocating
#include<iostream>
#include<vector>
using namespace std;
int main(void)
{
vector<int> vec; //创建动态数组,未知大小
vec.push_back(1); //添加元素1,此时为{1}
vec.push_back(2); //添加元素2,此时为{1,2}
vec.push_back(3); //添加元素3,此时为{1,2,3}
vec[1] = 3; //下标为1的元素被修改为3,此时为{1,3,3}
vec[2] = 2; //下标为2的元素被修改为2, 此时为{1,3,2}
for (int i = 0; i < vec.size(); i++)
printf("%d\n",vec[i]);
return 0;
}
(。・∀・)ノ
分类:
C++基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架