Как правильно использовать пространства имен в C++?

Чтобы не говорить всего, Марк c++ Инграм уже дал небольшой namespaces совет по использованию пространств cpp имен:

Избегайте директивы cpp «использование пространства namespacing имен» в файлах заголовков cpp — это открывает пространство namespacing имен для всех частей программы, которые c++ импортируют этот файл заголовка. В cxx файлах реализации (*.cpp) это cpp обычно не представляет большой namespace проблемы, хотя я предпочитаю namespaces использовать директиву "using namespaces namespace" на функциональном c++ уровне.

Я думаю, что пространства namespaces имен в основном используются, чтобы cpp избежать конфликтов имен, а namespace не обязательно для организации cxx структуры вашего кода. Я c++ бы организовал программы namespace на С++ в основном с файлами namespace заголовков/структурой файлов.

Иногда namespacing пространства имен используются cxx в больших проектах C++, чтобы c++ скрыть детали реализации.

Дополнительное cxx примечание к директиве using: Некоторые namespace люди предпочитают использовать namespacing «using» только для отдельных namespace элементов:

using std::cout;  
using std::endl;

c++

namespaces

2022-10-19T08:33:53+00:00