标准库vector类型
1、vector不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。vector类型的每一种都指定了其保存元素的类型。因此,vector<int>和vector<string>都是数据类型。
2、vector对象的定义和初始化
①vector<T> v1;
②vector<T> v2(v1);
③vector<T> v3(n,i);
④vector<T> v4(n);
3、vector对象的操作
①v.empty()
②v.size()
③v.push_back(t)
④v[n]
⑤v1=v2
⑥v1==v2
⑦!=,<,<=,>,>=
4、vector对象的size
vector<int>::size_type:对的
vector::size_type:错的
5、下标操作不添加元素
必须是已存在的元素才能用下标操作符进行索引。
6、迭代器
迭代器是一种检查容器内元素并遍历元素的数据类型。
所有的标准库容器都定义了响应的迭代器类型,而只有少数的容器支持下标操作。
例如:vector<int>::iterator it;
begin和end操作:
vector<int>::iterator it=ivec.begin();
7、迭代器类型可使用解引用操作符(*)来访问迭代器所指向的元素
*it = 0;
8、迭代器的其他操作
==,!=:如果两个迭代器对象指向同一个元素,则它们相等,否则不等。
for(vector<int>::iterator it=ivec.begin();it!=ivec.end();it++) *it=0;
9、
vector<int>::const_iterator it:it自身的值可以改变,但是不可以改变it所指向的元素的值
const vector<int>::iterator it:it自身的值不可以改变
10、任何改变vector长度的操作都会使已存在的迭代器失效。例如,在调用push_back之后,就不能再信赖指向vector的迭代器的值了。
【推荐】国内首个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应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决