gpt4 book ai didi

c++ - 为什么将 std::swap 移至

转载 作者:IT老高 更新时间:2023-10-28 22:01:17 26 4
gpt4 key购买 nike

为什么有 std::swap已移至<utility> C++ 11的 header ?

N3290 C.2.7 说:

17.6.3.2

Effect on original feature: Function swap moved to a different header

Rationale: Remove dependency on <algorithm>for swap.

Effect on original feature: Valid C++ 2003 code that has been compiled expecting swap to be in <algorithm> may have to instead include <utility>.

我无法理解粗体部分。讨论了什么样的依赖,为什么?

最佳答案

委员会希望允许您使用 swap()不引入对大型且更复杂的 <algorithm> 的编译时依赖性头文件。因为swap()被广泛使用,让你在尽可能少的额外负担的情况下提取它的定义是有意义的;这通常会缩短不需要的文件的编译时间 <algorithm> .它的新家允许使用它而不会产生不必要的开销。

关于c++ - 为什么将 std::swap 移至 <utility>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6086072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com