關于命名空間有名命名空間命名空間的聲明命名空間的引用方式無名命名空間C標準庫的命名空間std綜合實例
命名空間是防止命名沖突而引入的,在不同的命名空間中,即使使用相同的標識符表示不同的事物,也不會引起命名沖突。
我們可以自己聲明一個命名空間,并在其中聲明若干標識符
無需特別聲明,在聲明標識符時未指定命名空間,這樣的標識符都屬于無名的命名空間。
在使用C++標準程序庫的任何標識符時,可直接指定所屬的命名空間,如:
std::cout通過下面一個簡單的例子體會命名空間的使用方法
#include <iostream>namespace NS{ using std::cout; //在NS中可以使用std的所有標識符 int i = 0; void fun() { cout << "good job!" <<std::endl; };}//using namespace std;//using namespace NS;int main(){ int i=1;//無名空間 std::cout<<++i<<"/n " ;//使用cout,需要指明它所屬的命名空間 std::cout<<NS::i<<"/n " ;//這里的i與我們定義的i不是同一個,屬于NS命名空間 NS::fun(); return 0;}//注意:這里有兩個有名字的命名空間NS,std,以及一個無名命名空間或者我們也可以在NS中只做聲明
#include <iostream>namespace NS{ using std::cout; int i=0; void fun();}void NS::fun(){ cout << "good job!" <<std::endl;};int main(){ int i=1; std::cout<<++i<<"/n " ; std::cout<<NS::i<<"/n " ; NS::fun(); return 0;}新聞熱點
疑難解答