命名空間namespace的作用使得可以呼叫不同程式的同一變數
這樣就可以呼叫不同命名空間的相同名字的變數
#include
#include
intmain
(void
)
這段**會報錯
f:\code\c++\train\main.cpp:28|5|error: 'cout' was not declared in this scope|
f:\code\c++\train\main.cpp:28|26|error: 'endl' was not declared in this scope|
f:\code\c++\train\main.cpp:29|19|error: 'system' was not declared in this scope|
||=== build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
iostream雖然定義了cout和endl,但是在另外乙個命名空間當中,這裡是std
格式:using namespace ***
修正後**如下
#include
#include
using namespace std;
//定義了名字空間
intmain
(void
)
來看乙個例子
#include
#include
using namespace std;
//定義了名字空間
namespace a //定義a命名空間
}namespace b //定義b命名空間
}int
main
(void
)
最結果輸出為
1
b
若在程式中新增
using namespace b
就自動使用b中的變數,即可直接呼叫 fun():
反之,不定義命名空間using namespace std
也可以利用std::endl
的方式直接呼叫
筆記2 C 命名空間 標準命名空間std
一 引子 乙個中大型軟體往往由多名程式設計師共同開發,會使用大量的變數和函式,不可避免地會出現變數名或函式名的命名衝突。當所有人的 測試通過,結合在一起時就有可能會造成命名衝突。例如 小李和小韓都參與了乙個檔案管理系統的開發,它們都定義了乙個全域性變數fp,用來指明當前開啟的檔案,當他們 結合在一起...
C 之命名空間
c中是沒有命名空間這個概念的,是c 中新引入的乙個東西,為了處理同名的衝突。其實命名空間就是封裝的乙個概念。把一些變數 函式 類給封裝起來。和類的封裝概念很像,但是比類的封裝要大。一 1.自定義定義命名空間 格式 namespacename namespace my 此 的目的就是想往命名空間std...
C 之命名空間
一 命名空間的定義與簡介 命名空間是ansi c 引入的可以由使用者命名的作用域,用來處理程式中常見的命名衝突。例如有兩個標頭檔案中都定義了student類,那麼在主程式中都包含這兩個標頭檔案時,使用student類便會編譯出錯。或者在程式中引入不同的庫時有相同的實體名,則在編譯時就會出現名字衝突。...