• <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++博客 :: 首頁 :: 聯(lián)系 ::  :: 管理
              163 Posts :: 4 Stories :: 350 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(48)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            積分與排名

            • 積分 - 398977
            • 排名 - 59

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            盡量不用#define這條語句,這條語句不認(rèn)為是C++語言的一部分,而且在進(jìn)行字符替換時(shí)會(huì)帶來很多的問題。

            原計(jì)劃用define定義的普通常量 ,可以換成const定義的常量,如:const double ASPECT_RATIO = 1.653;

            但是想用一個(gè)const常量定義原define宏定義的指針常量時(shí),除了指針?biāo)傅念愋鸵x成const外,重要的是指針也經(jīng)常要定義成const。例如,要在頭文件中定義一個(gè)基于char*的字符串常量,你要寫兩次const:

                             const char * const authorName = "Scott Meyers";

            此語句意思是指針地址和指針指向的變量?jī)?nèi)容都是不允許修改的。

            定義在類內(nèi)的const常量只能在類構(gòu)造函數(shù)的初始化成員列表中初始化,不能在類體內(nèi)賦值初始化,除非你定義的const常量是static 修飾的int型。例如: 類體內(nèi)  這個(gè)語句const int NUM_TURNS=5  編譯器會(huì)報(bào)錯(cuò)“only static const integral data members can be initialized within a class”,但是static const int NUM_TURNS=5 就是合法的。出了int其他的static const數(shù)據(jù)類型,在類體內(nèi)只能聲明,而不能賦值。這種常量賦值的地方應(yīng)該在類的實(shí)現(xiàn)文件的函數(shù)體外,最好在構(gòu)造函數(shù)的前面賦值 例如 const float NUM_TURNS=3.0;放在類的構(gòu)造函數(shù)前面。如果你非得在類體內(nèi)對(duì)一個(gè)非static的const int常量賦值,那么可以把該常量定義為enum ,例如在類體內(nèi):作如下聲明是合法的:

            enum { NUM_TURNS = 5 }

            int  [NUM_TURNS];

             

            對(duì)于define定義的類似函數(shù)的宏,最好用內(nèi)聯(lián)函數(shù)替代,內(nèi)聯(lián)函數(shù)為前置inline 的函數(shù)聲明和定義在一起的短小函數(shù)。內(nèi)聯(lián)函數(shù)提供類型檢查,同樣免除了若干系統(tǒng)調(diào)用的過程,得到較高的效率!

            posted on 2008-01-15 20:51 sdfasdf 閱讀(2132) 評(píng)論(1)  編輯 收藏 引用 所屬分類: C++

            Feedback

            # re: Effective C++學(xué)習(xí)筆記:條款1:盡量用const和inline而不用#define[未登錄] 2008-09-16 23:09 dd
            dasdfasfasfasf  回復(fù)  更多評(píng)論
              

            久久精品a亚洲国产v高清不卡| 要久久爱在线免费观看| 国产精品久久久久影视不卡| 精品人妻久久久久久888| 久久夜色精品国产亚洲| 久久91这里精品国产2020| 99久久99久久精品国产片果冻| 99国产欧美久久久精品蜜芽| 99久久无码一区人妻| 亚洲日本va中文字幕久久| 久久涩综合| 久久99国产亚洲高清观看首页| 久久99国产精品久久99小说| 2020久久精品国产免费| 国产成人精品综合久久久久| 国产成人香蕉久久久久| 99久久婷婷免费国产综合精品| 亚洲国产成人久久笫一页| 99久久国产综合精品成人影院| 久久人人爽人人爽人人片AV不| 国产日韩欧美久久| 狠狠干狠狠久久| 久久久久女人精品毛片| 久久久久亚洲AV无码专区首JN| 99久久国产综合精品网成人影院 | 伊人久久大香线蕉综合网站| 久久久久夜夜夜精品国产| 91精品国产综合久久精品| 囯产极品美女高潮无套久久久 | 亚洲中文字幕无码久久2017| 免费一级做a爰片久久毛片潮| 国产AV影片久久久久久| 久久精品国产一区二区三区日韩| 亚洲国产精品无码久久久蜜芽 | 99精品国产免费久久久久久下载 | 欧美久久精品一级c片片| 久久久久久亚洲AV无码专区| 久久久国产乱子伦精品作者| 久久久久AV综合网成人| 久久亚洲中文字幕精品有坂深雪 | 日本强好片久久久久久AAA|