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

            国产综合久久久久| 一本一道久久综合狠狠老 | 久久精品国产亚洲av瑜伽| 国产精品美女久久久久AV福利| 国产午夜精品理论片久久| 欧美精品一区二区久久| 久久A级毛片免费观看| 91久久九九无码成人网站| 久久国产AVJUST麻豆| 久久国产精品-久久精品| 综合久久精品色| 91久久国产视频| 国产亚洲欧美精品久久久| 久久久久国产日韩精品网站| 99久久精品日本一区二区免费| 人妻少妇精品久久| 国产精品成人99久久久久| 亚洲AV无码久久| 无码国内精品久久人妻麻豆按摩| 97r久久精品国产99国产精| 久久香综合精品久久伊人| 精品久久久久久久久久中文字幕 | 久久99久久99精品免视看动漫| 国产精品午夜久久| 久久成人国产精品| 麻豆亚洲AV永久无码精品久久| 色狠狠久久综合网| 亚洲国产精品一区二区三区久久 | 伊人久久大香线蕉av一区| 欧美久久久久久午夜精品| 久久国产成人亚洲精品影院| 久久美女人爽女人爽| www.久久精品| 色综合合久久天天综合绕视看| 九九精品99久久久香蕉| 久久夜色精品国产噜噜噜亚洲AV | 国产成人久久精品一区二区三区| 天天影视色香欲综合久久| 亚洲欧美日韩精品久久亚洲区| 久久影院亚洲一区| 欧美亚洲国产精品久久|