1. 程式人生 > >C++的命名空間的現實意義

C++的命名空間的現實意義

C++原創文章 C++學習資料 C++學習靈感

程序中不能有兩個函數名一摸一樣的,但是程序做大了,就很可能會造成兩個同名同參的函數;這樣就會導致歧義而錯誤。

所以做出命名空間,可以做到只要是不同的空間中可以同名同參函數,這樣以後其他人來做了,可以不用看以前寫了什麽函數名,而只要弄個新的空間,就可以隨意的寫函數名了。這樣就更加方便程序的維護!這在比如PHP中用的很多,而且加強了命名空間的使用,如:TP5中有很多層級的命名空間,原理是一樣的。

#include<iostream>
#include<stdlib.h>

int main() {
std::cout << "靈感編程-C++" << std::endl;

system("pause");
return 0;

}

以前C語言的時候,是沒有什麽std::這些修飾的,為何?

因為它就一個命名空間,那麽在這個命名空間裏,就不能有一摸一樣的函數;

C++朝著能開發更大的程序去設計,所以很可能造成一摸一樣的函數,而增加後續參與人員的開發麻煩和維護麻煩。所以C++做成了多個空間。

就像有多個宇宙一樣,各自互不幹擾。

所以C++出現了命名空間,而std就是空間名;要使用某空間裏面的東西就得指明是哪個命名空間。

但是每次使用都來寫空間名,又有點麻煩。

所以就提供了簡化的方式:

先指定使用哪個空間。

#include<iostream>
#include<stdlib.h>

using namespace std;

int main() {
cout << "靈感編程-C++" << endl;

system("pause");
return 0;

}
效果一樣

C++的命名空間的現實意義