48 总是包含(#include)正确的文件

本文总结了标准模板库(STL)中的容器、算法、迭代器及函数子的组织方式。多数容器位于同名头文件中,而大部分算法则位于<algorithm>。特殊算法如accumulate等位于<numeric>,迭代器定义于<iterator>,函数子位于<functional>。文中强调了包含相应头文件的重要性。
总结:
  • 几乎所有的标准STL容器都被声明在与之同名的头文件中。
  • 除了4个STL算法以外,其他算法都声明在<algorithm>中,这四个算法是accumulate、inner_product、adjacent_difference和partial_sum,他们被声明在<numeric>中。
  • 特殊类型的迭代器,包含istream_iterator和istreambuf_iterator,被声明在<iterator>中。
  • 标准的函数子(比如less<T>)和函数子配接器(比如not1、bind2nd)被声明在头文件<functional>中。


任何时候如果你使用某个头文件的中的一个STL组件,那么你一定提供对应的#include指令,即时你正在使用的STL平台允许你省略#include指令,你也要将它们包含到你的代码中。当你需要将代码移植到其他平台上的时候,你的勤奋就会得到回报,移植的压力就会减轻。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值