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);
}
};
和b)
namespace Two {
using One::foo;
};
編輯:很明顯, (a)重複代碼,這永遠不應該是一個好主意。問題更多的是有關重載分辨率等......如果在其他命名空間中有其他foo
s或munch
es會怎麼樣?
「using One :: foo;」被稱爲使用聲明; using-directive是「using namespace N;」。 – 2010-11-06 19:39:31