Хорошо хранить свои пространства имен в отдельных папках.Вложите пространства имен так же, как они вложены в ваш проект.Например, если у вас есть:
namespace Foo{ namespace Bar{ } }
, вы хотите, чтобы любые объекты в пространстве имен Bar
находились в
{Foo's parent folder}\Foo\Bar\{how you're organizing code at this level}
Мы используемпапка include для заголовков, исходный код для .cpp, папка test для модульных тестов и папка объектов для битов скомпилированного кода.Причина, по которой мы их разделяем, заключается в том, что это упрощает упаковку кода в наших скриптах.Вы всегда будете раздавать заголовки, вы не будете разносить источник.( Здесь - еще один SO-поток, обсуждающий разделение заголовочных / исходных файлов. Это предпочтение.)
Вот ссылка на рекомендации Google по стилю, если это поможет.