Дано:
namespace One {
void foo(int x) {
munch(x + 1);
}
};
namespace Two {
// ... see later
}
...
void somewhere() {
using namespace Two;
foo(42);
...
Есть ли разница между следующими двумя вариантами:
а)
namespace Two {
void foo(int x) {
munch(x + 1);
}
};
и б)
namespace Two {
using One::foo;
};
РЕДАКТИРОВАТЬ: Довольно ясно, что (а) дублирует код, который никогда не должен быть хорошей идеей. Вопрос больше в разрешении перегрузки и т. Д. ... что если в других пространствах имен есть другие foo
или munch
?