程序中不能有兩個函數名一摸同樣的,可是程序作大了,就極可能會形成兩個同名同參的函數;這樣就會致使歧義而錯誤。ios
因此作出命名空間,能夠作到只要是不一樣的空間中能夠同名同參函數,這樣之後其餘人來作了,能夠不用看之前寫了什麼函數名,而只要弄個新的空間,就能夠隨意的寫函數名了。這樣就更加方便程序的維護!這在好比PHP中用的不少,並且增強了命名空間的使用,如:TP5中有不少層級的命名空間,原理是同樣的。編程
#include<iostream> #include<stdlib.h> int main() { std::cout << "靈感編程-C++" << std::endl; system("pause"); return 0; }
之前C語言的時候,是沒有什麼std::這些修飾的,爲什麼?函數
由於它就一個命名空間,那麼在這個命名空間裏,就不能有一摸同樣的函數;spa
C++朝着能開發更大的程序去設計,因此極可能形成一摸同樣的函數,而增長後續參與人員的開發麻煩和維護麻煩。因此C++作成了多個空間。設計
就像有多個宇宙同樣,各自互不干擾。code
因此C++出現了命名空間,而std就是空間名;要使用某空間裏面的東西就得指明是哪一個命名空間。開發
可是每次使用都來寫空間名,又有點麻煩。io
因此就提供了簡化的方式:stream
先指定使用哪一個空間。原理
#include<iostream> #include<stdlib.h> using namespace std; int main() { cout << "靈感編程-C++" << endl; system("pause"); return 0; }
效果同樣