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

            liyuxia713

            蹣跚前行者

            常用鏈接

            統計

            Algorithms

            C++

            最新評論

            [導入]const限制符

            1. const變量:const type v; 必須定義時初始化,不能修改其值。備注:關于const變量的作用域要特別注意,它是局部的,而默認的C++變量是全局的。通過加extern限制可以令const對象可以在全局被訪問。如代碼:(順便提一下static)

            file1.cpp   type v1;

                    const type v2;  //now,v2 is a local variable.

                    extern const type v3;//now,v3 is a global variable. must add 'extern'~.

            file2.cpp   type v1; //  error.redeclaration.

                    extern type v1; //ok.

                    type v2; //ok.but not equivalent to v2 in file1.cpp

                    const type v3;  // ok.but not equivalent to v3 in file1.cpp

                    extern const type v3; //ok.equal to v3 in file1.cpp. 

            2. const引用:const type& v; 是指向const對象的引用。非const引用只能綁定到與該引用同類型的對象。而const引用則可以綁定到不同但相關的類型那個的對象和右值。

            double dv = 1.0;  const int &iv = dv; 編譯時等價于

            int temp = dv;  const int &iv = temp; //可以看出對iv的修改并不會影響dv的值

            3.const與指針:(1) 指向const對象的指針: const type* v; 有時記作type const* v;可以修改指針,但不能直接通過該指針修改指針指向的對象。(可以通過定義非const指針指向該對象,從而修改其值)(2)const指針: type *const v;可以修改指針指向的對象,但不能修改指針本身。(3)指向const對象的const指針const type *const v;備注:typedef string * name;  const name v; //v的類型是指向string類型的const指針。) 

            4.const與一般函數: (1) const type1 func(type2 v); 函數返回值為const; (2) type1 func(const type2 v);形參為const變量。因為形參不是引用,不修改實參的值,所以此時的const不起特別的作用;(3)type1 func(const type& v); 形參為const引用,不修改傳遞到形參的實參值。 指針時相同,不修改指針指向的對象的值。

            5.const與類成員函數(常量成員函數):type func(type v) const;等價于type func(const *this,type v) const; 它是值this指針是指向const對象的指針,這個函數不改變調用該函數的對象。(備注:事實上是不可以顯示使用this指針作為形參的,但可以在函數體中顯示地使用this指針。)

            6.const與迭代器:vector<type>::const_iterator it;  const vector<type>::iterator iter; it指向的元素不能修改,iter指向的元素可以修改,但迭代器本身不能修改。

            7.const與容器: const vector<type> vec; 需要注意此時定義的容器迭代器必須是const_iterator型。
            文章來源:http://liyuxia-life.spaces.live.com/Blog/cns!DA1B364675ACF35!243.entry

            posted on 2009-02-28 21:38 幸運草 閱讀(389) 評論(0)  編輯 收藏 引用 所屬分類: C++

            无码任你躁久久久久久久| 97久久国产亚洲精品超碰热| 天天久久狠狠色综合| 久久九九久精品国产| 国内精品久久久久影院老司| 久久丫精品国产亚洲av不卡| 久久精品国产免费| 久久久久久国产精品无码下载| 婷婷久久综合| 精品久久久久久久| 亚洲国产日韩欧美综合久久| 国产成人久久AV免费| 久久久久亚洲AV成人网人人网站| 国产精品亚洲综合久久| 久久99精品国产麻豆宅宅| 亚洲а∨天堂久久精品9966| 久久天堂AV综合合色蜜桃网| 久久免费观看视频| 精品国产福利久久久| 国内精品久久久久久久久电影网| 麻豆精品久久精品色综合| 久久久久高潮综合影院| 久久99精品久久久久久野外| 97精品国产91久久久久久| 一97日本道伊人久久综合影院| 2020最新久久久视精品爱| 久久人爽人人爽人人片AV | 波多野结衣AV无码久久一区| 国产精品一久久香蕉国产线看观看 | 久久亚洲色一区二区三区| 精品午夜久久福利大片| 伊人久久大香线蕉AV色婷婷色| 欧美日韩成人精品久久久免费看| 久久婷婷五月综合色高清| 99久久夜色精品国产网站| 久久精品国产免费观看| 久久人人爽人人爽人人片AV不| 久久久久人妻精品一区三寸蜜桃 | 久久久精品视频免费观看| 四虎国产精品免费久久5151 | 国产精品伊人久久伊人电影|