C++的复习
C++的復習
1、命名空間
C++語言引入命名空間(Namespace)這一概念主要是為了避免命名沖突,其關鍵字為namespace。
科技發展到如今,一個系統通常都不會僅由一個人來開發完成,不同的人開發同一個系統,不可避免地會出現變量或函數的命名沖突,當所有人的代碼測試通過,沒有問題時,將所有人的代碼結合到一起,因為變量或函數重名而導致的問題將會造成一定的混亂,例如:
int flag = 1; //小李聲明的變量
// …… //中間間隔若干行代碼
bool flag = true; //小韓聲明的變量
如上所示,因為個人習慣不同,小李喜歡聲明 int 型變量用于邏輯判斷,而小韓則更喜歡采用 bool 類型變量。但兩個聲明放到同一個函數中的時候,很明顯編譯器會提示出 flag 變量重新定義的錯誤。這種問題若不加以處理是無法編譯通過的。
可以使用命名空間解決類似上面的命名沖突問題,例如:
namespace Li{ //小李的變量聲明
int flag = 1;
}
namespace Han{ //小韓的變量聲明
bool flag = true;
}
小李與小韓各自定義了以自己姓氏為名的命名空間,此時將小李與小韓的 flag 變量定義再置于同一個函數體中,則不會有任何問題,當然在使用這兩個變量的時候需要指明所采用的是哪一個命名空間中的 flag 變量。
指定所使用的變量時需要用到“::”操作符,“::”操作符是域解析操作符。例如:
總結