bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

C++的名稱空間-創新互聯

一、名稱空間

C++中,名稱可以是變量、函數、結構、枚舉、類以及類和結構的成員。當出現相同名稱但是有不同的含義時會發生沖突,尤其是不同的類庫中存在相同的名稱時,C++標準提供了名稱空間工具,可以更好的控制名稱的作用域。

創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站制作、成都網站建設、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的滎經網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!1.1、傳統的C++名稱空間

聲明區域:可以在其中進行聲明的區域。比如全局變量的聲明區域為整個文件,局部變量的聲明區域就是所在的代碼塊。
潛在作用域:從聲明點開始,到其聲明區域的結尾。(潛在作用域比聲明區域小,因為變量必須定義后才能使用)。
作用域:變量對程序而言可見的范圍。(作用域可能比潛在作用域小,比如全局變量可能會被函數內同名局部變量隱藏導致不可見)

1.2、新的C++名稱空間

a、通過定義一種新的聲明區域來創建命名的名稱空間,這樣可以提供一個聲明名稱的區域,這樣一個名稱空間的名稱不會與另一個名稱空間內的相同名稱發生沖突,同時允許程序的其他部分使用該名稱空間中聲明的東西。

namespace Jill
{double bucket(double n);		       		   //函數聲明
	double fetch;								   //變量聲明
	int pal;									   //變量聲明
	struct Hill{};								   //結構體聲明
}

b、名稱空間可以是全局的也可以存在于其他的名稱空間內,但是不能位于代碼塊中,默認名稱空間內聲明的名稱的鏈接性是外部的。
c、除了用戶定義的名稱空間外,還存在一個定義好的名稱空間-全局名稱空間。對應了文件級聲明區域。
d、名稱空間是開放的,可以把名稱或函數聲明加入已有的名稱空間中,也可以在文件的其他地方或另一個文件中再次使用該名稱空間添加函數原型;

namespace Jill
{char t;
	char * goose(const char *);
	double bucke(double n) {....}
}

e、訪問給定名稱空間內的名稱。通過作用域解析運算符::,使用名稱空間來限定該名稱。

Jill::fetch = 3.3;    //給變量賦值
Jill::bucket(4.4);	  //調用名稱空間內的函數
Jill::Hill mole;	  //創建一個名稱空間內的結構體類型變量
1.3、using聲明和using編譯

C++提供了兩種機制來簡化對名稱空間中名稱的使用,using聲明可使特定的標識符可用,using編譯指令可以使整個名稱空間可用。
需要注意,using聲明和using編譯增加了名稱沖突的可能性。且using聲明比using編譯更安全,因為using聲明只導入特定的名稱,一旦于局部變量發生沖突,編譯器將給出提示。而using編譯導入所有的名稱,一旦與局部名稱沖突,編譯器會使用局部名稱將名稱空間版本名稱,不會給出警告提示。

1.3.1、using聲明

using聲明由關鍵字using和被限定的名稱組成。

using Jill::fetch;

using聲明將特定的名稱添加到它所屬的聲明區域中,完成該聲明后,便可以使用名稱fetch代替Jill::fetch。

double fetch;
int main ()
{using Jill::fetch;
	double fetch;       // 這是錯誤的!,已經有一個局部變量fetch了。
	cin >>fetch;       //讀取一個輸入值到Jill::fetch中
	cin>>::fetch;	  //讀取一個輸入值到全局變量fetch中
}

using聲明將名稱添加到局部聲明區域中,所以無法將另一個局部變量也聲明為fetch了,同時Jill::fetch將同名的全局變量隱藏。

1.3.2、using編譯指令

using聲明由關鍵字using namespace 和被限定的名稱空間組成。這將會使名稱空間內的所有的名稱都可用,而不需要使用作用域解析運算符::。
using namespace Jill;
using namespace std;

1.4、名稱空間極其前途

a、使用在已命名的名稱空間中聲明的變量,而不是使用外部全局變量。
b、使用在已命名的名稱空間中聲明的變量,而不是靜態全局變量。
c、如果開發了一個函數庫或類庫,應該將其放在一個名稱空間內,比如C++提倡將標準函數庫放在名稱空間std內,
d、僅將using編譯指令作為一種將舊代碼轉換為使用名稱空間的權宜之計。
e、不要在頭文件中使用using編譯指令,這樣會隱藏要讓哪些名稱可用。
f、導入名稱時,選作用域解析運算符或using聲明的方法。
g、對于using聲明,應該選將作用域設置為局部而不是全局。

二、多文件組織策略

C++鼓勵程序員在開發程序時使用多個文件,一種有效的組織策略是:
1、使用頭文件來定義用戶類型,為操縱用戶類型的函數提供函數原型。
2、并將函數的定義放在一個獨立的源代碼文件里,頭文件和源文件一起定義和實現了用戶定義的類型及其使用方式。
3、將負責調度的主函數和其他使用這些函數的函數放在第三個文件里。

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

名稱欄目:C++的名稱空間-創新互聯
標題來源:http://vcdvsql.cn/article32/ddjesc.html

成都網站建設公司_創新互聯,為您提供網頁設計公司品牌網站建設網站制作靜態網站服務器托管網站維護

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管