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

            思思久久99热免费精品6| 亚洲AV无码久久精品色欲| 伊人久久大香线蕉精品| 精品国产综合区久久久久久| 久久夜色精品国产亚洲| 国产精品一久久香蕉国产线看| 国产69精品久久久久9999| 婷婷国产天堂久久综合五月| 精品国产VA久久久久久久冰| 久久亚洲电影| 粉嫩小泬无遮挡久久久久久| 无码任你躁久久久久久久| 久久精品一区二区三区不卡| 久久久国产精华液| 国产精品成人精品久久久| 久久久无码精品亚洲日韩按摩| 久久精品国产亚洲AV不卡| 国产精品女同久久久久电影院| 欧美久久久久久精选9999| 久久777国产线看观看精品| 伊人久久五月天| 日本加勒比久久精品| 996久久国产精品线观看| 性色欲网站人妻丰满中文久久不卡 | 激情久久久久久久久久| 久久久老熟女一区二区三区| 中文字幕无码久久人妻| 日本亚洲色大成网站WWW久久| 丰满少妇人妻久久久久久4| 97久久超碰国产精品旧版| 久久免费的精品国产V∧| 久久偷看各类wc女厕嘘嘘| 久久久久亚洲av综合波多野结衣 | 久久久精品国产sm调教网站| 久久www免费人成看片| 久久婷婷是五月综合色狠狠| 亚洲美日韩Av中文字幕无码久久久妻妇| 国内精品久久久久国产盗摄| 丁香五月综合久久激情| 久久精品亚洲精品国产欧美| 久久精品成人欧美大片|