Pra*_*rav 18 c++ swap rationale c++11
为什么要std::swap转移到<utility>C++ 11 的标题?
std::swap
<utility>
N3290 C.2.7说:
17.6.3.2 对原始功能的影响:功能交换移动到不同的标头 基本原理:删除对<algorithm>swap的依赖. 对原始功能的影响:已编译的有效C++ 2003代码期望交换<algorithm>可能必须包含<utility>.
17.6.3.2
对原始功能的影响:功能交换移动到不同的标头
基本原理:删除对<algorithm>swap的依赖.
<algorithm>
对原始功能的影响:已编译的有效C++ 2003代码期望交换<algorithm>可能必须包含<utility>.
我无法理解这部分的粗体.正在讨论什么样的依赖关系?为什么?
Ern*_*ill 33
委员会希望允许您使用swap()而不会在大型和更复杂的<algorithm>头文件上引入编译时依赖性.因为它swap()被如此广泛地使用,所以让你在尽可能少的额外行李中提出它的定义是有意义的; 这通常会导致更快的编译时间,而不需要其他文件<algorithm>.它的新家可以在不引入不必要的开销的情况下使用它.
swap()
归档时间:
14 年,9 月 前
查看次数:
1774 次
最近记录: