vector详解

时间:2020-05-25
本文章向大家介绍vector详解,主要包括vector详解使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1. 基本介绍

   std::vector是STL提供的内存连续的可变长度的数组(亦称列表)数据结构。能够提供线性复杂度的插入和删除,以及常数复杂度的随机访问。

   为什么要使用 vector

   vector由于其对内存的动态处理,时间效率在部分情况下低于静态数组,并且在编译器不一定开全优化的情况下更加糟糕。所以在正常存储数据的

   时候,通常不选择vector 。下面给出几个 vector 优秀的特性:

       1)vector可以动态分配内存

          很多时候我们不能提前开好那么大的空间。尽管我们能知道数据总量在空间允许的级别,但是单份数据还可能非常大,这种时候我们就需要

          vector来把内存占用量控制在合适的范围内。

       2)vector重写了比较运算符及赋值运算符

         vector 重载了六个比较运算符,以字典序实现,这使得我们可以方便的判断两个容器是否等(复杂度与容器大小成线性关系)。例如可以

          利用 vector<char> 实现字符串比较(当然,还是用 std::string 会更快更方便)。另外 vector 也重载了赋值运算符,使得数组拷贝更加方便。

       3)vector便利的初始化

          由于 vector 重载了 = 运算符,所以我们可以方便的初始化。此外从 C++11 起 vector 还支持列表初始化,例如 vector<int> data {1, 2, 3};

原文地址:https://www.cnblogs.com/yanghh/p/12957855.html