自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

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

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

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

(5) 命名空間。命名空間是用一個集合名稱標識程序中一組命名項的方式。這聽起來可能讓人混淆,但不必擔心,稍后就介紹命名空間,第10章將詳細論述。

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

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

value2 Mephistopheles BettyMay Earth_weight PI

下面的名稱就不合法:

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

提示:

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

我們將在使用名稱時進一步討論它們,第2章討論變量時就開始討論名稱。

命名空間

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

 

  1. using namespace std; 

 

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

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

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

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

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

【編輯推薦】

  1. 淺談C/C++中的順序點和副作用
  2. 淺談C/C++中的static和extern關鍵字
  3. C++中的指針用法匯集
  4. 階乘相關的算法及其C++實現(xiàn)
責任編輯:于鐵 來源: 中國IT實驗室
相關推薦

2010-01-25 18:15:52

2010-01-25 14:56:08

C++程序

2010-01-22 14:53:21

2009-05-22 11:01:53

C++JavaC#

2010-01-13 13:36:54

C++應用程序

2023-10-31 19:00:56

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-25 16:58:15

C++程序

2010-01-21 14:07:14

CC++聲明

2024-05-21 14:04:16

2010-01-20 10:19:55

C++數(shù)組

2010-01-21 13:33:44

C++基類

2010-01-25 10:25:19

C++變量

2010-01-28 16:31:54

C++類型

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2020-08-21 13:20:36

C++If ElseLinux

2023-09-27 23:24:50

C++鏈表

2023-11-20 09:57:03

內(nèi)聯(lián)函數(shù)C++

2010-01-26 10:42:26

C++函數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號