• <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 幸運草 閱讀(385) 評論(0)  編輯 收藏 引用 所屬分類: C++

            久久99精品久久久久子伦| 久久精品国产网红主播| 久久久久亚洲爆乳少妇无| 久久久WWW成人| 久久婷婷色综合一区二区| 久久综合综合久久综合| 久久er国产精品免费观看2| 国产午夜电影久久| 亚洲精品无码久久一线| 色综合久久综精品| A级毛片无码久久精品免费| 91久久国产视频| 国产成人久久精品一区二区三区| 99精品久久精品一区二区| 久久婷婷五月综合成人D啪| 久久久无码精品亚洲日韩蜜臀浪潮| 97精品国产97久久久久久免费| 久久强奷乱码老熟女网站| 欧美精品一本久久男人的天堂| 综合久久精品色| 一级做a爰片久久毛片16| 色综合久久久久久久久五月| 一本久久综合亚洲鲁鲁五月天| 91麻豆精品国产91久久久久久| 一本久久知道综合久久| 亚洲国产高清精品线久久 | 性高湖久久久久久久久AAAAA| 99久久精品午夜一区二区| 久久笫一福利免费导航| 久久乐国产精品亚洲综合| 99久久精品国产一区二区蜜芽| 久久久噜噜噜www成人网| 色妞色综合久久夜夜| 久久婷婷五月综合色奶水99啪| 色综合久久天天综线观看| 精品久久久久国产免费| 国产精品免费久久久久久久久| 99久久免费国产精品| 亚洲国产精品热久久| 韩国三级中文字幕hd久久精品| 国产视频久久|