美文网首页
《C++ Primer Plus》笔记>容器

《C++ Primer Plus》笔记>容器

作者: 染微言 | 来源:发表于2017-04-18 15:16 被阅读26次

STL -> vector:
vector 类似于 string 类,也是一种动态数组。
在调用时可以在末尾附加或者中间插入新数据。
基本上,vector 是使用 new 创建动态数组的替代品。
事实上,vector 自动使用 new 和 delete 来管理内存。
vector 可以在插入或者添加值时自动调整长度,所以可以将初始长度设置为零,调整长度需要用到 vector 包中的各种方法。

#include <vector>
//...
using namespace std;
vector<int> vi; // vi 是一个vector<int>对象
int n;
cin >> n;
vector<double> vd (n); 
// vd 是一个长度为n的vector<double> 对象

STL -> array:
array 类长度固定,位于std中,使用静态内存分配(栈)。
因此其效率和数组相同,但更为方便和安全。

#include <array>
...
using namespace std;
array<int,6> ai; // ai 是一个长度为5的array<int>对象
array<double, 4> ad = {1.2, 2.1, 3.43, 4.3};

数组、vector、array之间的比较:
vector和array也不会检查超界错误。
a2[-2] = 5 // 错误,但是允许
可以使用类方法来检查。
a2.at(1) = 2.3 // 等同于a2[1] = 2.3
另外还有 begin() 和 end() 函数可以确定边界。

相关文章

  • C++模板库笔记

    C++标准模板库笔记(C++ Primer plus) 1.除序列外,vector还是可反转容器(reversib...

  • 《C++ Primer Plus》笔记>容器

    STL -> vector:vector 类似于 string 类,也是一种动态数组。在调用时可以在末尾附加或者中...

  • C++循环与决策

    Tags:C++,《C++ Primer Plus》笔记 一、循环## 语法### C++中有三种循环语句,语法与...

  • c++学习笔记——第一天

    一、c++综述 (1)书籍推荐 ①、c++ primer ②、c++ primer plus ③、c++编程思想 ...

  • C++I/O小结

    Tags:C++,《C++ Primer Plus》笔记 一、iostream## 头文件 用于对控制台进行输...

  • C++算术类型

    Tags:C++,《C++ Primer Plus》笔记 一、分类## 见下图,注意以下几点: char16_t,...

  • C++复合类型

    Tags:C++,《C++ Primer Plus》笔记 一、分类## 如下图,大概分为这些类型,每种类型的声明语...

  • C++函数初识

    Tags:C++,《C++ Primer Plus》笔记 一、原型、定义与调用## 一个完整的函数包含原型、定义和...

  • C++ Primer Plus习题及答案-第九章

    C++ Primer Plus习题及答案-第九章 习题选自:C++ Primer Plus(第六版)内容仅供参考,...

  • c primer plus 和 c++ primer plus

    c++ primer plus 第6版:下载链接 备用链接1 备用链接2 c primer plus 第6版:下载...

网友评论

      本文标题:《C++ Primer Plus》笔记>容器

      本文链接:https://www.haomeiwen.com/subject/xcafzttx.html