文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)15.8 调整vector类达到STL版本的功能

15.8 调整vector类达到STL版本的功能 在15.5节中为vector增加了begin()、end()和类型别名后,现在只差insert()和erase()就接近我们设计一个std::vector的近似版本的目标了:   我们还是使用指向元素类型的指针T*作为迭代器的类型,这是最简单的方法。我们将边界检查迭代器的实现留作练习(习题18)。 人们通常不会为元素连续存储的数据类型(如...

文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)15.7 vector、list和string

15.7 vector、list和string 为什么我们对行用list而对字符用vector呢?更准确地说,我们为什么要用list保存行的序列而用vector保存字符序列呢?再有,为什么不用string来存储一行呢? 我们可以把这些问题再一般化一些。到现在为止,我们知道了四种存储字符序列的方法: char[](字符数组); vector<char>; string; list&...

文章 2017-05-02 来自:开发者社区

C++程序设计:原理与实践(进阶篇)15.5 再次泛化vector

15.5 再次泛化vector 显然,通过15.3~15.4节的例子我们发现,标准库vector包含一个iterator成员类型,以及begin()和end()成员函数(与std::list类似)。然而,我们并没有在第14章中为vector类提供这些成员。那么,对于不同类型的容器而言,它们究竟采用了什么方法,以使它们或多或少地能够在15.3节所介绍的STL泛型编程风格中相互替换使用?首先,我们.....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等