Considerare una coppia di due file di origine: un file di dichiarazione dell'interfaccia (*.h
o *.hpp
) e il relativo file di implementazione (*.cpp
).C++: Namespace - Come utilizzare correttamente i file di intestazione e origine?
Lasciate che il file *.h
essere come il seguente:
namespace MyNamespace {
class MyClass {
public:
int foo();
};
}
Ho visto due diverse pratiche per l'utilizzo di spazi dei nomi nel file di origine:
*.cpp
mostrando pratica # 1:
#include "MyClass.h"
using namespace MyNamespace;
int MyClass::foo() { ... }
*.cpp
dimostrazione pratica n. 2:
#include "MyClass.h"
namespace MyNamespace {
int MyClass::foo() { ... }
}
La mia domanda: Ci sono delle differenze tra queste due pratiche e una è considerata migliore dell'altra?
C'è anche opzione 3 : Solo noi il nome completo, ad es 'int MyNamespace :: MyClass :: foo() ...'. –
Possibile duplicato: http://stackoverflow.com/questions/7789163/using-directive-best-practice – David
@Dave non duplicato. Queste domande si completano a vicenda. Consiglia di aggiungere il collegamento fornito da Dave come "Leggi anche ..." a questa domanda. La mia domanda aiuterà i novizi a scegliere lo stile corretto. – DaddyM