sirve que para funcion español c++ swap c++11 rationale

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é?