国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++程序中可以命名的5種元素

2020-05-23 14:24:36
字體:
供稿:網(wǎng)友

 C++程序中的許多元素都有用來表示它們的名稱(也稱為標(biāo)識符)。在C++程序中,可以命名的5種元素是:

  (1) 函數(shù)。函數(shù)是自包含的、可執(zhí)行代碼的命名塊。第8章將詳細(xì)討論如何定義函數(shù)。

  (2) 變量。變量是內(nèi)存中的指定區(qū)域,用于存儲數(shù)據(jù)項(xiàng)。第2章將論述變量。

  (3) 類型。類型是可以存儲的數(shù)據(jù)種類。例如類型int用于存儲整數(shù)。第2章和后續(xù)的章節(jié)將介紹類型,尤其是第11和12章。

  (4) 標(biāo)簽。標(biāo)簽提供了表示特定語句的方式。它們很少使用,第4章將詳細(xì)介紹。

  (5) 命名空間。命名空間是用一個集合名稱標(biāo)識程序中一組命名項(xiàng)的方式。這聽起來可能讓人混淆,但不必?fù)?dān)心,稍后就介紹命名空間,第10章將詳細(xì)論述。

  在大多數(shù)現(xiàn)代C++編譯器中,名稱只能包含大小寫字母、下劃線和0~9的數(shù)字。ANSI標(biāo)準(zhǔn)還允許在名稱中包含通用字符集(Universal Character Set)(稍后介紹)中的字符,但一般不需要這項(xiàng)功能。

  名稱必須由允許的字符組成,不要在名稱的中間加上空白字符(空格、制表符等),否則,編譯器就不會把該名稱看做是一個名稱,而是看做兩個名稱,從而導(dǎo)致處理不正確。另一個限制是名稱不能以數(shù)字開頭。下面是一些合法的名稱例子:

  value2 Mephistopheles BettyMay Earth_weight PI

  下面的名稱就不合法:

  8Ball Mary-Ann Betty May Earth-weight 2PI

  提示:

  包含兩個下劃線的名稱,或者以下劃線開頭,后跟一個大寫字母的名稱,是C++標(biāo)準(zhǔn)庫的保留名稱,在程序中不應(yīng)使用這類名稱。編譯器不會檢查這類名稱,用戶只能在程序出錯時(shí)發(fā)現(xiàn)有一個沖突的名稱。

  我們將在使用名稱時(shí)進(jìn)一步討論它們,第2章討論變量時(shí)就開始討論名稱。

  命名空間

  在上面的簡單C++程序中,有一行代碼沒有解釋。為了理解這行代碼,需要知道什么是命名空間。為了說明命名空間的含義,下面先討論名稱。上面C++程序中還沒有解釋的代碼行如下:

  using namespace std;

  命名空間的名稱有點(diǎn)像姓氏。家庭中的每個成員都有自己的姓名,在大多數(shù)家庭中,每個家庭成員都有一個惟一的名字。在Smith家中,有Jack、Jill、Jean和Jonah。在家庭成員之間,用名字來指代每個人。但是,其他家庭的成員可能與Smith家的成員有相同的名字。例如,在Jones家中,其成員的名字是John、Jean、Jeremiah和Jonah。Jeremiah Jones在稱呼Jean時(shí),顯然是指Jean Jones。如果他想指代Smith家中的Jean,就要使用全名Jean Smith。如果不是這兩個家庭的成員,就只能使用每個人的全名來指代他本人,例如Jack Smith或Jonah Jones。

  這就是命名空間的作用。命名空間的名稱類似于姓氏。在命名空間內(nèi)部,可以使用其成員的名字。在命名空間的外部,就只能把某個實(shí)體的名字和命名空間的名稱組合起來,表示該命名空間中的實(shí)體。命名空間的目的是提供一種機(jī)制,使大程序的各個部分中因出現(xiàn)重名而導(dǎo)致沖突的可能性降到最低。一般情況下,一個程序中包含幾個不同的命名空間。

  C++標(biāo)準(zhǔn)庫中的實(shí)體都是在命名空間std中定義的,所以標(biāo)準(zhǔn)庫中的所有實(shí)體名都用std來限定。cout的全名就是std::cout,其中的兩個冒號有一個非常好聽的名稱:范圍解析運(yùn)算符,稍后詳述。在這個例子中,該運(yùn)算符把命名空間的名稱std和流的名稱cout分隔開來。

  在這個簡單的C++程序中,開頭的using指令表示我們希望在每次引用命名空間std中的元素時(shí),不指定命名空間的名稱。繼續(xù)前面的類推,使程序文件成為std家族的一組榮譽(yù)成員,就可以只用名字來引用每個成員了。其優(yōu)點(diǎn)之一是不需要把cout表示為std::cout,這樣程序代碼就更簡單。如果省略using指令,就必須把輸出語句寫為:

  std::cout <<"The best place to start is at the beginning";

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 老河口市| 宜兰市| 高雄县| 安龙县| 鸡东县| 虞城县| 淳安县| 襄汾县| 永登县| 福泉市| 兖州市| 嵩明县| 鹤峰县| 海淀区| 汝阳县| 二连浩特市| 新化县| 景谷| 潢川县| 通山县| 奇台县| 山西省| 和林格尔县| 平谷区| 冀州市| 新巴尔虎右旗| 罗源县| 大庆市| 乌鲁木齐市| 平和县| 容城县| 日喀则市| 富宁县| 和政县| 苍梧县| 乐都县| 平谷区| 福泉市| 宁阳县| 柏乡县| 阿克|