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

            蹣跚前行者

            常用鏈接

            統(tǒng)計(jì)

            Algorithms

            C++

            最新評(píng)論

            [導(dǎo)入]const限制符

            1. const變量:const type v; 必須定義時(shí)初始化,不能修改其值。備注:關(guān)于const變量的作用域要特別注意,它是局部的,而默認(rèn)的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引用則可以綁定到不同但相關(guān)的類型那個(gè)的對象和右值。

            double dv = 1.0;  const int &iv = dv; 編譯時(shí)等價(jià)于

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

            3.const與指針:(1) 指向const對象的指針: const type* v; 有時(shí)記作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與一般函數(shù): (1) const type1 func(type2 v); 函數(shù)返回值為const; (2) type1 func(const type2 v);形參為const變量。因?yàn)樾螀⒉皇且茫恍薷膶?shí)參的值,所以此時(shí)的const不起特別的作用;(3)type1 func(const type& v); 形參為const引用,不修改傳遞到形參的實(shí)參值。 指針時(shí)相同,不修改指針指向的對象的值。

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

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

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

            posted on 2009-02-28 21:38 幸運(yùn)草 閱讀(410) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++

            国产午夜精品理论片久久| 欧美午夜A∨大片久久 | 欧美精品一本久久男人的天堂| 精品综合久久久久久888蜜芽| 亚洲午夜久久影院| 日本亚洲色大成网站WWW久久 | 伊人久久综合无码成人网| 97久久久久人妻精品专区| 久久久久国产精品三级网 | 久久精品国产91久久综合麻豆自制 | 久久久久久九九99精品| 久久久91人妻无码精品蜜桃HD | 久久99国产精品久久久| 亚洲国产日韩欧美久久| 亚洲国产精品人久久| 狠狠色婷婷久久综合频道日韩 | 狠狠88综合久久久久综合网| 亚洲а∨天堂久久精品| www.久久热.com| 亚洲AV日韩精品久久久久久| 久久久久久国产精品无码下载| 精品久久久久香蕉网| 久久久久高潮综合影院| 欧美亚洲日本久久精品| 国产精品伊人久久伊人电影| 国产日产久久高清欧美一区| 午夜精品久久久久久毛片| 久久亚洲AV无码精品色午夜麻豆| 精品久久久久久无码中文字幕 | 99久久久国产精品免费无卡顿| 亚洲乱码中文字幕久久孕妇黑人| 色欲综合久久躁天天躁| 亚洲日韩欧美一区久久久久我| 久久精品国产亚洲7777| 久久e热在这里只有国产中文精品99| 99久久久精品| 久久国产精品视频| 亚洲精品久久久www| 亚洲精品无码专区久久同性男 | 亚洲成人精品久久| 欧美精品一本久久男人的天堂|