Розглянемо пару з двох вихідних файлів: файл декларації інтерфейсу ( *.h
або *.hpp
) та файл його реалізації ( *.cpp
).
Нехай *.h
файл буде таким:
namespace MyNamespace {
class MyClass {
public:
int foo();
};
}
Я бачив дві різні практики використання просторів імен у вихідних файлах:
*.cpp
показ практики №1:
#include "MyClass.h"
using namespace MyNamespace;
int MyClass::foo() { ... }
*.cpp
показ практики №2:
#include "MyClass.h"
namespace MyNamespace {
int MyClass::foo() { ... }
}
Моє запитання: Чи є якісь відмінності між цими двома практиками і чи одна вважається кращою за іншу?
int MyNamespace::MyClass::foo() ...
.