如何避免在使用STL时的常见问题和误区?
发布网友
发布时间:2024-10-08 16:09
我来回答
共1个回答
热心网友
时间:2024-12-13 08:25
Effective STL中文版——50条有效使用STL的经验书籍目录
引言
第1章,深入探讨容器的使用,共10条经验:
第1条: 选择容器时要谨慎,确保其与你的需求匹配。
第2条: 避免编写对容器类型过分依赖的代码,保持代码的灵活性。
第3条: 确保容器内对象拷贝的正确性和高效性。
第4条: 使用empty而非检查size()是否为0,提高代码效率。
第5条: 谨慎处理C++编译器可能的编译警告和分析。
第6条: 管理好动态分配的内存,特别是容器中包含new操作的指针。
第7条: 不要使用auto_ptr创建容器,以防止资源泄漏。
第8条: 选择删除元素的方法时,需考虑性能和内存管理。
第9条: 了解并利用分配子(allocator)的规范和*。
第10条: 合理运用自定义分配子,优化内存管理。
第2章,vector和string的使用技巧:
第13条: vector和string优于动态数组,优先选择。
第14条: 使用reserve避免不必要的内存分配。
第15条: 注意string的不同实现,根据需求选择。
第16条: 学会将vector和string数据传递给旧API的技巧。
第17条: 使用swap技巧优化内存空间。
第18条: 考虑在某些情况下避免使用vector。
第3章,关联容器的使用建议:
第19条: 理解相等和等价的区别,对关联容器至关重要。
第20条: 对于指针关联容器,明确指定比较类型。
第21条: 比较函数在等值情况下的行为需要正确处理。
第22条: 避免直接修改关联容器的键值。
第23条: 探索排序vector作为替代关联容器的可能性。
第24条: 精心选择map::operator[]和insert的使用场景。
第25条: 了解非标准哈希容器的使用。
...