Considere los siguientes dos declaraciones:¿Está 'usando el espacio de nombres' dentro de otro espacio de nombre equivalente a un alias?
namespace foo = bar;
y
namespace foo {
using namespace bar;
}
Son esas dos declaraciones equivalente, o hay algunas diferencias sutiles que no estoy al tanto?
(Tenga en cuenta que esto no es una pregunta sobre el estilo de codificación, solo me interesa el análisis en C++).
Perdón por el comentario muy, muy tarde, pero pensé que otros podrían estar buscando. El uso de la declaración de la barra de espacio de nombres solo trae esos elementos definidos en ese momento al espacio de nombres de foo. En resumen, puede crear dependencias de orden incorrecto. Vea el ítem n. ° 59 en las normas de codificación C++ de Sutter/Alexandrescu. –
@RobL: Una utilización de _declaration_ solo trae los nombres declarados en ese momento. Lo anterior es un uso de _directive_. El primero es como una redeclaración de los nombres del espacio de nombres en el alcance actual. Este último es más como una regla para buscar diciendo, si no lo encuentras aquí, verifica este otro espacio de nombres. –