日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
C++程序中可以命名的5種元素

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

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

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

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

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

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

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

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

value2 Mephistopheles BettyMay Earth_weight PI

下面的名稱就不合法:

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

提示:

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

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

命名空間

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

 
 
 
  1. using namespace std; 

 

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

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

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"; 

本文名稱:C++程序中可以命名的5種元素
鏈接URL:http://www.5511xx.com/article/cojcsed.html