Considere un par de dos archivos de origen: un archivo de declaración de interfaz (*.h
o *.hpp
) y su archivo de implementación (*.cpp
).C++: espacios de nombres: ¿cómo usarlos correctamente en los archivos de encabezado y fuente?
permiten que el archivo *.h
ser como la siguiente:
namespace MyNamespace {
class MyClass {
public:
int foo();
};
}
he visto dos prácticas diferentes para usar espacios de nombres de archivos de origen:
*.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: ¿Hay alguna diferencia entre estas dos prácticas y se considera una mejor que la otra?
También hay la opción 3 : Solo nosotros el nombre completo, por ejemplo 'int MyNamespace :: MyClass :: foo() ...'. –
Posible duplicado: http://stackoverflow.com/questions/7789163/using-directive-best-practice – David
@Dave no duplicado. Estas preguntas se complementan entre sí. Recomiende agregar el enlace provisto por Dave como "Lea también ..." a esta pregunta. Mi pregunta ayudará a los principiantes a elegir el estilo correcto. – DaddyM