ADL
La regla de C++ que en una llamada de función no calificada el compilador también busca en los espacios de nombres que pertenecen a los tipos de argumentos. También llamada búsqueda de Koenig.
Es lo que hace que std::cout << x funcione sin especificar cuál operator<< se pretende, y no es una curiosidad sino una construcción fundamental. Sin ella, la sobrecarga de operadores a través de límites de espacios de nombres sería inutilizable. También subyace en el idioma using std::swap; para intercambio genérico. Los compiladores varían en cuántas búsquedas realizan — algunos buscan solo en namespaces directos, otros en toda la jerarquía.