• <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>

            C++ Primer 學習筆記二

            A        .函數(shù)探幽:

            1.  要使用內(nèi)聯(lián)函數(shù)需要做:a. 在函數(shù)聲明之前加上關鍵字inline;  b.在函數(shù)定義前面加上關鍵字inline; 內(nèi)聯(lián)函數(shù)的原始實現(xiàn)是宏!

            2.  聲明引用時必須進行初始化! (const指針也是在創(chuàng)建時進行初始化)

            3.  如何給參數(shù)設置默認值?必須通過函數(shù)原型。因為編譯器是通過查看原型來了解函數(shù)所使用的參數(shù)數(shù)目,因此函數(shù)原型也必須將可能的默認參數(shù)告知程序。必須從右向左添加默認值。

            4.  函數(shù)在重載時,編譯器在檢查函數(shù)特征標(參數(shù)類型)時,將把類型引用和類型本身視為同一個特征標。匹配函數(shù)時,不區(qū)分const和非const變量。

            B .    內(nèi)存模型和名稱空間:

            1.  不要將函數(shù)定義或變量聲明放到頭文件中。為了避免在不知情的情況下將同一頭文件包含多次,可以使用預處理器編譯指令#ifndef,代碼為:#ifndef COORDIN_H_       #define COORDIN_H_   ... #endif

            2.  在c++中,可以使用register來聲明局部變量,作用域為局部,沒有鏈接性。因為存儲在寄存器中,沒有內(nèi)存地址,因此不能使用地址操作符。register int x;

            3.  靜態(tài)存儲持續(xù)性變量(在整個程序執(zhí)行期間存在)有3種鏈接性:外部鏈接性、內(nèi)部鏈接性和無鏈接性。下面給出代碼:

                      int global=1000;  //靜態(tài)持續(xù)變量,外鏈接,在代碼塊的外面聲明
                      static int one_file=50;   //靜態(tài)持續(xù)變量,內(nèi)聯(lián)接,代碼快外面聲明,并使用static限定符
                      int main()
                      {...}

                      void func1(int n)
                      {
                            static int count=0;   //靜態(tài)持續(xù)變量,沒有鏈接性,只能在func1種使用。在代碼塊內(nèi)聲明,使用static限定符
                       }

                      所有的靜態(tài)持續(xù)變量都有兩個初始化特征:a.未被初始化的靜態(tài)變量的所有位都被設為0;b.只能用常量表達式來初始化靜態(tài)變量。

                      對于外部鏈接性變量,有且僅有一個文件中包含了該變量的外部定義,其他文件要使用該變量,必須在引用聲明中使用extern.

            4.  c++不允許在一個函數(shù)中定義另外一個函數(shù),因此所有函數(shù)的存儲持續(xù)性都自動為靜態(tài)的,即在整個程序執(zhí)行期間都一致存在。默認情況下,函數(shù)的鏈接性為外部的。可以用static將函數(shù)的鏈接性設置為內(nèi)部的。

            5.   在c++中,同一個名稱可能對應多個函數(shù),在編譯期間,必須為這些函數(shù)提供不同的符號名稱。例如可以將spiff(int)轉(zhuǎn)換為_spiff_i,而將spiff(double,double);轉(zhuǎn)換為_spiff_d_d,這稱為c++語言鏈接。而extern "c" void spiff(int); 表示以c的語言鏈接性來查找函數(shù)。

            6.  using聲明:假如存在一個名稱空間 namespace Jill{double bucket(double n){...}   double fetch;} 則using Jill::fetch;就是一個using聲明。using聲明在函數(shù)內(nèi)時,則聲明的變量是局部的,如果聲明在函數(shù)外,則聲明的變量是全局的。

            7.  using聲明使得一個名稱可用,而using編譯指令使得所有的名稱都可用。 using namespace Jill; 不要在頭文件中使用using編譯指令

            C       .對象和類:

            1.  不用在類中使用private,這是類對象的默認訪問控制。類和結(jié)構(gòu)的唯一區(qū)別在于,結(jié)構(gòu)的默認訪問類型是public的。

            2.  cout和cerr的區(qū)別:cout對應于標準輸出流,cerr對應于標準錯誤流; cout可以重定向,cerr不可以;cout要分配緩沖,因此cerr比cout快;它們的 標準默認輸出設備都是屏幕。

            3.  類的每個對象都有自己的存儲空間,用于存儲其內(nèi)部變量;但同一個類的所有對象共享同一組類方法,即每種方法只有一個副本。

            4.  默認構(gòu)造函數(shù)是在未提供顯式的初始化值時,被用來創(chuàng)建對象的構(gòu)造函數(shù)。例如:Stock stock1; 當且僅當沒有定義任何構(gòu)造函數(shù)時,編譯器才會提供默認構(gòu)造函數(shù)。為雷定義了構(gòu)造函數(shù)后,程序員就必須為它提供默認構(gòu)造函數(shù)。否則Stock stock1;這樣的聲明將出錯。

            5.  const成員函數(shù):void show()const; 其對應的定義為void Stock::show()const; 表明在這個類方法中不會修改調(diào)用對象。

            6.  使類中的某個變量為整個類都可用。a.可以在類中聲明一個枚舉。在類中聲明的枚舉的作用域為整個類,例如: class Stock{ private:    enum{Len=30};};   所有的對象都不包含枚舉!!!           b.使用static: class Stack{ private:  static const int Len=30;}; 這將創(chuàng)建一個Len常量,該常量不存儲在對象中,而與其他的靜態(tài)變量存儲在一起!!

            posted on 2008-03-11 13:49 弱水一瓢 閱讀(232) 評論(0)  編輯 收藏 引用 所屬分類: C++ Primer

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導航

            統(tǒng)計

            文章分類

            最新評論

            国产精品99久久久久久人| 无码任你躁久久久久久| 亚洲va中文字幕无码久久| 国产成人久久精品一区二区三区| 精品乱码久久久久久久| 国产99久久久国产精品~~牛| 欧美性大战久久久久久| 久久水蜜桃亚洲av无码精品麻豆| 久久久久AV综合网成人| 久久人人爽人人爽人人片AV东京热| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 欧美牲交A欧牲交aⅴ久久| 国产精品久久久久影视不卡| 久久97久久97精品免视看秋霞| 精品久久久中文字幕人妻| 四虎国产精品免费久久久| 婷婷久久五月天| 青青青国产精品国产精品久久久久| 久久国产精品免费一区| 久久棈精品久久久久久噜噜| 久久黄视频| 久久香蕉综合色一综合色88| 久久久久久久久66精品片| 欧美一区二区精品久久| 香蕉久久夜色精品升级完成| 欧美成a人片免费看久久| 久久国产精品-国产精品| 亚洲精品国精品久久99热一| 亚洲国产高清精品线久久 | 国产日韩久久久精品影院首页| 久久精品国产久精国产果冻传媒 | 亚洲av日韩精品久久久久久a| 久久精品夜色噜噜亚洲A∨| 亚洲国产精品久久久久网站| 久久九九精品99国产精品| 99久久99久久精品国产片果冻| 久久这里只有精品首页| 久久亚洲高清综合| 模特私拍国产精品久久| 亚洲国产精品无码久久九九| 天堂无码久久综合东京热|