Да, если вы сделаете это, то просто перенесет все имена из foo
в my_lib
- что, как отмечали другие, может быть или не быть желательным.
Одна вещь, которую яВ дополнение к тому, что говорили другие, можно заметить, что вы можете использовать идею «использование директивы в пространстве имен» как способ имитации директивы использования, которая ограничена областью действия класса.Обратите внимание, что это незаконно:
class C
{
using namespace boost; // for example
// ...
};
Но вы можете сделать это вместо этого:
namespace C_Namespace {
using namespace boost;
class C
{
};
}
using C_Namespace::C; // bring C itself back into the global namespace
Просто подумал, что вы могли бы найти это полезным, если вы действительно хотите иметь возможность что-то определять(как класс) без записи определенного префикса пространства имен все время.