返回介绍

I.9 使用 STL

发布于 2024-10-08 23:14:18 字数 693 浏览 0 评论 0 收藏 0

标准模板库(请参见第 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文