effective stl 第48条:总是包含(#include)正确的头文件

来源:互联网 发布:shell编程怎么运行 编辑:程序博客网 时间:2024/05/07 19:18

STL编程一件极其令人沮丧的事情是,在一个STL平台上顺利编译通过的,在另一个平台上可能需要额外的#include指令才能编译通过。

● 几乎所有的容器都在同名的头文件里,比如,vector在< vector>中声明,list在< list>中声明等。例外的是< set>和< map>。< set>声明了set和multiset,< map>声明了map和multimap。
● 除了四个算法外,所有的算法都在 中声明。例外的是accumulate(参见条款37)、inner_product、adjacent_difference和partial_sum。这些算法在< numeric>中声明。
● 特殊的迭代器,包括istream_iterators和istreambuf_iterators(参见条款29),在< iterator>中声明。
● 标准仿函数(比如less< T>)和仿函数适配器(比如not1、bind2nd)在< functional>中声明。

0 0
原创粉丝点击