/*
在開發的過程中,定義的名稱可以是變數,函式,結構,列舉,類等。隨著專案的增大名稱之間相互
衝突的可能性也增大。這種衝突被稱為命名空間問題。
命名空間統一的程式設計理念:
1:使用在已命名的命名空間中宣告的變數,而不是使用外部全域性變數。
2:使用在已命名的命名空間中宣告的變數,而不是使用靜態全域性變數。
3:如果開發了乙個函式或者類庫,將其放在乙個命名空間中。
4:僅將using編譯指令作為一種將舊**轉化為命名空間的權宜之計。
5:不要在標頭檔案中使用using編譯指令。這樣做掩蓋了要讓哪些名稱可用。
6:匯入名稱時,首選使用作用域解析運算子或using宣告的方法。
7:對於using宣告,首選將其作用域設定為區域性而不是全域性。
*/#ifndef learnc14
#define learnc14
#include
//using std::cout; 最好不要這麼做。
//命名空間
namespace np1;
void inituser(user &u);
void showuser(const user &u);
}namespace np2 ;
void initmoney(money &m);
void showmoney(money &m);
}#endif // !learnc14
#include
#include "learnc14.h"
using
std::cout;
using
std::endl;
namespace np1
void showuser(const user &u)
}namespace np2
void showmoney(money &m)
}
輸出結果:
#include
#include
"learnc14.h"
int main()
name=2 age=2 money=1e+06
C 回顧學習筆記二十四 命名空間
從我們開啟vs軟體,開啟控制台程式並開始寫 時,命名空間就開始在發揮作用了。在 的最上方可以看到很多using語句,那就是引用了命名空間。引用命名空間的格式是 using 命名空間名字 這樣就可以在程式中直接用命名空間的型別,而不必指定型別的詳細命名空間。using system 通常都會出現在.c...
C 學習筆記 命名空間
命名空間或者叫名字空間 名字就是namespace 是為了在大型專案中防止識別符號衝突才引入的,實際上就是可以由使用者命名的作用域。touzani的專欄的這篇c 命名空間namespace,我覺得寫的很明白 不敢說好壞,因為我也是抱著學習的態度讀技術部落格 該部分大量參考了這篇博文。原來c 識別符號...
C 命名空間學習筆記
三個重要概念 宣告區域 可以在其中進行宣告 變數 函式等 的區域。潛在作用區域 從宣告點開始,至其宣告區域的結尾。作用域 變數對程式而言的可見的範圍。舉個例子 函式中的某個變數可能會被這個函式中的某個 塊中的同名變數隱藏。作用 乙個命名空間中的名稱不會與另乙個命名空間中的相同名稱發生衝突,同時允許程...