- 内容提要
- 前言
- 第 1 章 预备知识
- 第 2 章 开始学习 C++
- 第 3 章 处理数据
- 第 4 章 复合类型
- 第 5 章 循环和关系表达式
- 第 6 章 分支语句和逻辑运算符
- 第 7 章 函数——C++的编程模块
- 第 8 章 函数探幽
- 第 9 章 内存模型和名称空间
- 第 10 章 对象和类
- 第 11 章 使用类
- 第 12 章 类和动态内存分配
- 第 13 章 类继承
- 第 14 章 C++中的代码重用
- 第 15 章 友元、异常和其他
- 第 16 章 string 类和标准模板库
- 第 17 章 输入、输出和文件
- 第 18 章 探讨 C++新标准
- 附录 A 计数系统
- 附录 B C++保留字
- 附录 C ASCII 字符集
- 附录 D 运算符优先级
- 附录 E 其他运算符
- 附录 F 模板类 string
- 附录 G 标准模板库方法和函数
- 附录 H 精选读物和网上资源
- 附录 I 转换为 ISO 标准 C++
- 附录 J 复习题答案
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
I.9 使用 STL
标准模板库(请参见第 16 章和附录 G)为许多编程需要提供了现成的解决方案,应使用它。例如,与其声明一个 double 或 string 对象数组,不如创建 vector<double>对象或 vector<string>对象。这样做的好处与使用 string 对象(而不是 C 风格字符串)相似。赋值运算符已被定义,因此可以使用赋值运算符将一个 vector 对象赋给另一个 vector 对象。可以按引用传递 vector 对象,接收这种对象的函数可以使用 size( ) 方法来确定 vector 对象中元素数目。内置的内存管理功能使得当使用 pushback( ) 方法在 vector 对象中添加元素时,其大小将自动调整。当然,还可以根据实际需要来使用其他有用的类方法和通用算法。在 C++11 中,如果长度固定的数组是更好的解决方案,可使用 array<double>或 array<string>。
如果需要链表、双端队列(或队列)、栈、常规队列、集合或映射,应使用 STL,它提供了有用的容器模板。算法库使得可以将矢量的内容轻松地复制到链表中,或将集合的内容同矢量进行比较。这种设计使得 STL 成为一个工具箱,它提供了基本部件,可以根据自己的需要进行装配。
在设计内容广泛的算法库时,效率是一个主要的设计目标,因此只需要完成少量的编程工作,便可以得到最好的结果。另外,实现算法时使用了迭代器的概念,这意味着这些算法不仅可用于 STL 容器。具体地说,它们也可用于传统数组。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论