当前位置:嗨网首页>书籍在线阅读

12-使用STL

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

I.9 使用STL

标准模板库(请参见第16章和附录G)为许多编程需要提供了现成的解决方案,应使用它。例如,与其声明一个double或string对象数组,不如创建vector对象或vector对象。这样做的好处与使用string对象(而不是C风格字符串)相似。赋值运算符已被定义,因此可以使用赋值运算符将一个vector对象赋给另一个vector对象。可以按引用传递vector对象,接收这种对象的函数可以使用size()方法来确定vector对象中元素数目。内置的内存管理功能使得当使用pushback()方法在vector对象中添加元素时,其大小将自动调整。当然,还可以根据实际需要来使用其他有用的类方法和通用算法。在C++11中,如果长度固定的数组是更好的解决方案,可使用array或array

如果需要链表、双端队列(或队列)、栈、常规队列、集合或映射,应使用STL,它提供了有用的容器模板。算法库使得可以将矢量的内容轻松地复制到链表中,或将集合的内容同矢量进行比较。这种设计使得STL成为一个工具箱,它提供了基本部件,可以根据自己的需要进行装配。

在设计内容广泛的算法库时,效率是一个主要的设计目标,因此只需要完成少量的编程工作,便可以得到最好的结果。另外,实现算法时使用了迭代器的概念,这意味着这些算法不仅可用于STL容器。具体地说,它们也可用于传统数组。