假設我班有倆個同學,一男一女都叫eric,但是如果他倆同時在我面前我只叫eric的話,他倆會不知道我在叫他倆哪位?
同樣的,我們將這種現象放在**中。程式設計師對物件命名的時候,一般都會起一些有意義的名稱。在一段**中會現很多的實體,這些實體可能擁有不同的功能,但是他們有同樣的名稱。但是,c++中採用的是單一的全域性變數命名空間,在這單一的空間中,實體必須有唯一的名稱。現實中會經常出現同名的現象,這種命名衝突被稱為「名字汙染」。
命名空間用namespace
來宣告,後面緊跟空間的名稱,名稱之後是由{}
包含起來的宣告塊。在乙個命名空間內宣告的實體被稱為命名空間成員(namespace member)。
命名空間的格式:
namespace space_name
舉例說明:
#include
using namespace std;
namespace boy;}
;char
*str =
"i am eric, in namespace boy";}
namespace girl;}
;char
*str =
"i am eric, in namespace girl";}
intmain()
輸出效果:
分析**:該**定義了倆個命名空間boy和girl, 在倆個命名空間中都有同樣的類名eric和變數str,但是在使用時明沒有發生衝突。
C 無名命名空間詳解
將一組宣告包裹在乙個命名空間中就是為了避免可能的名字衝突,保持 的區域性性。例如,一段 示例 include header.h namespace mine int g 但是有時我們並不希望名字mine被區域性的環境之外知道,此時名字mine似乎多餘了,因此我們可以省去這個mine名字 直接改寫為 ...
C 命名空間詳解namespace
命名空間是乙個域,這在個域中所有的型別名字必須是唯一的,不同的型別分組歸入到層次化的命名空間,命名空間的好處是 1 避免名字衝突,2 便於查詢型別名字。如 system.secruity.cryptogtaphy.下面介紹namespace 關鍵字的使用。namespace test class c...
C 命名空間 namespace 詳解
考慮一種情況,當我們有兩個同名的人,zara,在同乙個班裡。當我們需要對它們進行區分我們必須使用一些額外的資訊和它們的名字,比如這個區域,如果它們生活在不同的區域或者它們的母親或父親的名字,等等。在您的c 應用程式中也會出現同樣的情況。例如,您可能正在編寫一些具有名為xyz 函式的 並且還有另乙個可...