• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            MyMSDN

            MyMSDN記錄開發(fā)新知道

            [學(xué)習(xí)筆記]C++ Primer[第二章]基本語言

            Page 30 ( Chapter 2 基本語言)
            算術(shù)類型的存儲(chǔ)空間依機(jī)器而定。
            Page 30 ( Chapter 2 基本語言)
            表示整數(shù)、字符和布爾值的算術(shù)類型合稱為整形(integral type)
            字符類型有兩種:char和wchar_t。char類型通常是單個(gè)機(jī)器字節(jié)(byte)。wchar_t類型用于擴(kuò)展字符集,比如漢字和日語
            Page 31 ( Chapter 2 基本語言)
            在位這一級(jí)上,存儲(chǔ)器是沒有結(jié)構(gòu)和意義的。
            讓存儲(chǔ)具有結(jié)構(gòu)的最基本方法是用塊(chunk)處理存儲(chǔ)。……雖然確切的大小因機(jī)器不同而不同,但是通常將8位的塊作為一個(gè)字節(jié),32位或4個(gè)字節(jié)作為一個(gè)“字(word)”
            Page 32 ( Chapter 2 基本語言)
            C++標(biāo)準(zhǔn)并未定義signed類型如何用位來表示,而是由每個(gè)編譯器自由決定如何表示signed類型。……符號(hào)位為1,值就為負(fù)數(shù);符號(hào)位為0,值就為0或正數(shù)。……有些語言中將負(fù)數(shù)賦給unsigned類型是非法的,但在C++中這是合法的。
            Page 35 ( Chapter 2 基本語言)
            為了兼容C語言,C++中所有的字符串字面值都由編譯器自動(dòng)在末尾添加一個(gè)空字符。
            Page 36 ( Chapter 2 基本語言)
            兩個(gè)相鄰的僅由空格、制表符或換行符分開的字符串字面值(或?qū)捵址置嬷担蛇B接成一個(gè)新字符串字面值。
            //concatenated long string literal
            std::cout<<"a multi-line "
            "string literal "
            "using concatenation "
            <<std::endl;
            執(zhí)行這條語句將會(huì)輸出:
            a multi-line string literal using concatenation
            如果連接字符串字面值和寬字符串字面值,將會(huì)出現(xiàn)什么結(jié)果呢?例如:
            //Concatenating plain and wide character strings is undefined
            std::cout<<"multi-line" L"literal "<<std::endl;
            其結(jié)果未定義的(unsigned),也就是說,連接不同類型的行為標(biāo)準(zhǔn)沒有定義。這個(gè)程序可能會(huì)執(zhí)行,也可能會(huì)崩潰或者產(chǎn)生沒有用的值,而且在不同的編譯器下程序的動(dòng)作可能不同。
            Page 36 ( Chapter 2 基本語言)
            在一行的末尾加一反斜線符號(hào)可將此行和下一行當(dāng)作同一行處理。
            std::cou\
            t<<"Hi"<<st\
            d::endl;
            等價(jià)于
            std::cout<<"Hi"<<std::endl;
            注意反斜線符號(hào)必須是該行的尾字符——不允許其后面有注釋或空格。同樣,后繼行行首的任何空格和制表符都是字符串字面值的一部分。正因如此,長字符串字面值的后繼行才不會(huì)有正常的縮進(jìn)。
            Page 39 ( Chapter 2 基本語言)
            C++是一門靜態(tài)類型語言,在編譯時(shí)會(huì)作類型檢查。
            Page 41 ( Chapter 2 基本語言)
            標(biāo)識(shí)符不能包含兩個(gè)連續(xù)的下劃線,也不能以下劃線開頭后面緊跟一個(gè)大寫字母。有些標(biāo)識(shí)符(在函數(shù)外定義的標(biāo)識(shí)符)不能以下劃線開頭。
            Page 42 ( Chapter 2 基本語言)
            C++支持兩種初始化變量的形式:復(fù)制初始化(copy-initialization)和直接初始化(direct-initialization)。復(fù)制初始化語法用等號(hào)(=),直接初始化則是把初始化式放在括號(hào)中:
            int ival(1024);    //direct-initialization
            int ival = 1024;    //copy-initialization
            Page 43 ( Chapter 2 基本語言)
            也可以通過一個(gè)計(jì)數(shù)器和一個(gè)字符初始化string對(duì)象。這樣創(chuàng)建的對(duì)象包含重復(fù)多次的指定字符,重復(fù)次數(shù)由計(jì)數(shù)器指定:
            std::string all_nines(10,'9');    //all_nines="9999999999"
            本例中,初始化all_nines的唯一方法是直接初始化。有多個(gè)初始化式時(shí)不能使用復(fù)制初始化
            Page 44 ( Chapter 2 基本語言)
            內(nèi)置類型變量是否自動(dòng)初始化取決于變量定義的位置。在函數(shù)體外定義的變量都初始化成0,在函數(shù)體里定義的內(nèi)置類型變量不進(jìn)行自動(dòng)初始化。
            Page 46 ( Chapter 2 基本語言)
            extern聲明不是定義,也不分配存儲(chǔ)空間。
            ……
            只有當(dāng)extern聲明位于函數(shù)外部時(shí),才可以含有初始化式。
            Page 50 ( Chapter 2 基本語言)
            非const變量默認(rèn)為extern,要使const變量能夠在其他的文件中訪問,必須顯式地指定它為extern
            Page 51 ( Chapter 2 基本語言)
            引用只是對(duì)象的另一個(gè)名字
            Page 52 ( Chapter 2 基本語言)
            const引用可以初始化為不同類型的對(duì)象或者初始化為右值
            ……
            非const引用只能綁定到與該引用同類型的對(duì)象。
            const引用則可以綁定到不同但相關(guān)的類型的對(duì)象或綁定到右值。
            Page 56-57 ( Chapter 2 基本語言)
            如果使用class關(guān)鍵字來定義類,那么定義在第一個(gè)訪問標(biāo)號(hào)前的任何成員都隱式指定為private;如果使用struct關(guān)鍵字,那么這些成員都是public。使用class還是struct關(guān)鍵字來定義類,僅僅影響默認(rèn)的初始化訪問級(jí)別。
            可以等效地定義Sales_item類為:
            struct Sales_item{
                //no need for public label, memebers are public by default
                //operations on Sales_item objects
            private:
                std::string isbn;
                unsigned units_sold;
                double revenues
            };
            本例的類定義和前面的類定義只有兩個(gè)區(qū)別:這里使用了關(guān)鍵字struct,并且沒有在花括號(hào)后使用關(guān)鍵字public。struct的成員都是public,除非有其他特殊的聲明,所以就沒有必要添加public標(biāo)號(hào)。
            用class和struct關(guān)鍵字定義類的唯一差別在于默認(rèn)訪問級(jí)別:默認(rèn)情況下,struct的成員為public,而class的成員為private。
            Page 59 ( Chapter 2 基本語言)
            這種行為有一個(gè)很重要的含義:當(dāng)我們在頭文件中定義了const變量后,每個(gè)包含該頭文件的源文件都有了自己的const變量,其名稱和值都一樣。

            posted on 2007-06-16 01:32 volnet 閱讀(999) 評(píng)論(2)  編輯 收藏 引用 所屬分類: C++ Primer 學(xué)習(xí)筆記

            評(píng)論

            # re: [學(xué)習(xí)筆記]C++ Primer[第二章]基本語言 2007-07-10 12:55 zhanghaibin

            這個(gè)方法不錯(cuò),不過會(huì)不會(huì)浪費(fèi)時(shí)間呀,要敲這么多字進(jìn)去  回復(fù)  更多評(píng)論   

            # re: [學(xué)習(xí)筆記]C++ Primer[第二章]基本語言[未登錄] 2008-07-28 11:18 foxtail

            這樣學(xué)廢時(shí)間 還容易放棄 枯燥無味  回復(fù)  更多評(píng)論   

            特殊功能
             
            国产午夜精品久久久久免费视| 久久久精品国产Sm最大网站| 无码专区久久综合久中文字幕| 久久婷婷五月综合色奶水99啪| 成人国内精品久久久久影院| 久久久噜噜噜久久| 久久精品九九亚洲精品| 亚洲国产天堂久久综合网站| 久久人人爽人人爽人人片AV不| 99久久免费国产特黄| 亚洲国产婷婷香蕉久久久久久| 亚洲AV成人无码久久精品老人 | 国产韩国精品一区二区三区久久| 国产成人精品久久综合| 久久免费视频1| 国产精品成人精品久久久| 欧美一区二区三区久久综| 久久伊人亚洲AV无码网站| 久久国产高清字幕中文| 欧美黑人激情性久久| 久久只有这里有精品4| 精品国产91久久久久久久a| 97久久超碰国产精品2021| 亚洲欧美伊人久久综合一区二区 | 久久国产一片免费观看| 精品久久久久久久久午夜福利| 日产久久强奸免费的看| 国产成人精品综合久久久| AV色综合久久天堂AV色综合在| 久久天天躁狠狠躁夜夜2020一| 伊人久久大香线蕉综合5g| 免费一级欧美大片久久网 | 日韩av无码久久精品免费| 欧美国产精品久久高清| 久久99精品久久久久久不卡| 国产精品无码久久四虎| 99久久成人18免费网站| 94久久国产乱子伦精品免费| 狠狠色综合网站久久久久久久| 国产精品久久久99| 久久久久亚洲AV综合波多野结衣|