什麼是名稱空間?

快三什麼時候要順龍+叩10930352發表於2021-02-12

什麼是名稱空間?

為什麼要寫using namespace std;這句話呢

這是C++新引入的一個機制,主要是為了解決多個模組間命名衝突的問題,就像現實生活中兩個人重名一個道理。C++把相同的名字都放到不同的空間裡,來防止名字的衝突

例如標準C++庫提供的物件都存放在std這個標準名字空中,比如cin、cout、endl,所以我們會看到在C++程式中都會有using namespace std;這句話了

如程式:

include

using namespace std; int main() { cout<<"Nice to meet you!"<

第二種:

用域限定符::來逐個制定,剛才的程式碼還可以寫成:

include

int main() { std::cout<<"Nice to meet you!"<

第三種:用using和域限定符一起制定用哪些名字,如程式碼:

include

using std::cout; using std::endl; int main() { cout<<"Nice to meet you!"<

以上三種,大家用哪種都可以,為今後統一方便,我們教程中統一第一種寫法。

值得一提的是,其實早期的C++標準是沒有名稱空間這個概念的,標頭檔案包含也和C一樣,都是帶.h字尾的。只是新標準中使用不帶.h的標頭檔案包含時,必須要宣告名稱空間,並且包含標頭檔案在前,宣告使用的名字空間在後。

相關文章