Considere un par de dos archivos fuente: un archivo de declaración de interfaz ( *.h
o *.hpp
) y su archivo de implementación ( *.cpp
).
Deje que el *.h
archivo sea como el siguiente:
namespace MyNamespace {
class MyClass {
public:
int foo();
};
}
He visto dos prácticas diferentes para usar espacios de nombres en archivos fuente:
*.cpp
mostrando la práctica # 1:
#include "MyClass.h"
using namespace MyNamespace;
int MyClass::foo() { ... }
*.cpp
mostrando la práctica # 2:
#include "MyClass.h"
namespace MyNamespace {
int MyClass::foo() { ... }
}
Mi pregunta: ¿Existen diferencias entre estas dos prácticas y se considera que una es mejor que la otra?
int MyNamespace::MyClass::foo() ...
.