Considera una coppia di due file sorgente: un file di dichiarazione dell'interfaccia ( *.h
o *.hpp
) e il suo file di implementazione ( *.cpp
).
Lascia che il *.h
file sia come il seguente:
namespace MyNamespace {
class MyClass {
public:
int foo();
};
}
Ho visto due diverse pratiche per l'utilizzo degli spazi dei nomi nei file sorgente:
*.cpp
mostrando la pratica n. 1:
#include "MyClass.h"
using namespace MyNamespace;
int MyClass::foo() { ... }
*.cpp
mostrando la pratica n. 2:
#include "MyClass.h"
namespace MyNamespace {
int MyClass::foo() { ... }
}
La mia domanda: ci sono differenze tra queste due pratiche ed una è considerata migliore dell'altra?
int MyNamespace::MyClass::foo() ...
.