c++ - que - swap function
¿Por qué se cambió std:: swap a<utility>? (1)
El comité quería permitirle usar swap()
sin introducir una dependencia en tiempo de compilación en el archivo de encabezado grande y más complejo <algorithm>
. Debido a que swap()
es tan ampliamente utilizado, tiene sentido permitirle ingresar su definición con la menor cantidad de equipaje adicional posible; esto generalmente conducirá a tiempos de compilación más rápidos para archivos que de otra manera no necesitan <algorithm>
. Su nuevo hogar permite su uso sin introducir gastos generales innecesarios.
¿Por qué se ha movido std::swap
al encabezado <utility>
para C ++ 11?
N3290 C.2.7 dice:
17.6.3.2
Efecto en la característica original: Cambio de función movido a un encabezado diferente
Justificación: elimine la dependencia de
<algorithm>
para swap.Efecto en la característica original: el código válido de C ++ 2003 que se ha compilado esperando que el swap esté en
<algorithm>
puede tener que incluir<utility>
.
No puedo entender la parte en negrita. ¿De qué tipo de dependencia se habla y por qué?