Я понял, что не должен использовать это в файле заголовка:
using namespace foo;
Потому что он переносит пространство имен foo в глобальную область видимости для всех, кто использует мой файл заголовка.
Может Я предотвращаю это, если я делаю это в своем собственном пространстве имен? Например, так:
namespace my_lib
{
using namespace foo;
// my stuff
// ...
}
Теперь использование пространства имен foo должно быть ограничено областью пространства имен my_lib, верно?