容器

优质
小牛编辑
130浏览
2023-12-01

没错,STL有迭代器、算法和函数对象,但对于大多数C++程序员,容器是最突出的。它们比数组更强大更灵活,可以动态增长(也常是缩减),可以管理属于它们自己的内存,可以跟踪它们拥有的对象数目,可以限制它们支持操作的算法复杂度等等。它们的普及是很容易理解的。它们比竞争对手更好,不管竞争对手是来自其他库或你自己写的容器类型。STL容器不只是好,而是相当好。

本章关注的是可以适用于所有STL容器的指导方针。后面的章节则专注于特殊的容器类型。把这个专题放在这里还因为让你知道在选择适当的容器时应该面对的约束;避免产生为一个容器类型写的代码也可以用于其它容器类型的错觉;容器里对象拷贝操作的重要性;当指针或auto_ptr存放在容器中时出现的难点;删除的输入和输出;你可以或不可以使用自定义分配器;达到最高效率的技巧和考虑在多线程环境下容器的使用。

有很多需要覆盖的领域,但没关系。这些条款会把它分解为小块,按照这种方式,你差不多现在就能发现几个可以应用于你的代码的主意。