标准库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的迭代器的值了。

posted @   momo_Unique  阅读(114)  评论(0编辑  收藏  举报
编辑推荐:
· 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语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示