<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

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

    發布時間:2011-4-22 21:07    發布者:1770309616
    C++程序中的許多元素都有用來表示它們的名稱(也稱為標識符)。在C++程序中,可以命名的5種元素是:

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

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

    (3) 類型。類型是可以存儲的數據種類。例如類型int用于存儲整數。第2章和后續的章節將介紹類型,尤其是第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++標準庫的保留名稱,在程序中不應使用這類名稱。編譯器不會檢查這類名稱,用戶只能在程序出錯時發現有一個沖突的名稱。

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

    命名空間

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

    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中的元素時,不指定命名空間的名稱。繼續前面的類推,使程序文件成為std家族的一組榮譽成員,就可以只用名字來引用每個成員了。其優點之一是不需要把cout表示為std::cout,這樣程序代碼就更簡單。如果省略 using指令,就必須把輸出語句寫為:

        std::cout <<"The best place to start is at the beginning";
    本文地址:http://www.portaltwn.com/thread-63321-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    hszx 發表于 2011-5-20 14:02:19
    jixzang 發表于 2011-5-23 19:46:05
    謝謝樓主
    qq361646877 發表于 2011-5-23 23:01:18
    受益匪淺
    sjg 發表于 2011-5-25 21:07:45
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區
    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷