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

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            入門教程:C++中的const限定修飾符

              const修飾符可以把對象轉變成常數對象,什么意思呢?

              意思就是說利用const進行修飾的變量的值在程序的任意位置將不能再被修改,就如同常數一樣使用!

              使用方法是:

            const?int?a=1;//這里定義了一個int類型的const常數變量a;

              但就于指針來說const仍然是起作用的,以下有兩點要十分注意,因為下面的兩個問題很容易混淆!

              我們來看一個如下的例子:

            ?

            #include? < iostream > ??
            using ? namespace ?std;??
            ??
            void ?main( void )??
            {??
            const ? int ?a = 10 ;??
            int ?b = 20 ;??
            ??
            const ? int ? * pi;??
            pi
            =& a;??
            cout?
            <<* pi? << ? " | " ? << ?a? << endl;??
            pi
            =& b;??
            cout?
            <<* pi? << ? " | " ? << b? << endl;??
            cin.
            get ();??
            }

            ?

              上面的代碼中最重要的一句是 const int *pi
              這句從右向座讀作:pi是一個指向int類型的,被定義成const的對象的指針
              這樣的一種聲明方式的作用是可以修改pi這個指針所指向的內存地址不能修改指向對象的值

              如果你在代碼后加上*pi=10;這樣的賦值操作是不被允許編譯的!

              好,看了上面的兩個例子你對const有了一個基本的認識了,那么我們接下來看一個很容易混淆的用法!

              請看如下的代碼:

            ?

            #include? < iostream > ??
            using ? namespace ?std;??
            ??
            void ?main( void )??
            {??
            int ?a = 10 ;??
            ??
            const ? int ? * const ?pi =& a;??
            ??
            cout?
            <<* pi? << ? " | " ? << a? << endl;??
            cin.
            get ();??
            }

            ?

              上面的代碼中最重要的一句是 const int *const pi
              這句從右向座讀作:pi是一個指向int類型對象的const指針

              這樣的一種聲明方式的作用是你不可以修改pi所指向對象的內存地址不能利用指針的解引用方式修改對象的值,也就是用*pi=10這樣的方式;

              所以你如果在最后加上*pi=20,想試圖通過這樣的方式修改對象a的值是不被允許編譯的!

              結合上面的兩點所說,把代碼修改成如下形式后就可以必然在程序的任意的地方修改對象a的值或者是指針pi的地址了,下面的這種寫法常被用語涵數的形式參數,這樣可以保證對象不會在涵數內被改變值!

            ?

            #include? < iostream > ??
            using ? namespace ?std;??
            ??
            void ?main( void )??
            {??
            const ? int ?a = 10 ; // 這句和上面不同,請注意!??
            ??
            const ? int ? * const ?pi =& a;??
            ??
            cout?
            <<* pi? << ? " | " ? << a? << endl;??
            cin.
            get ();??
            }

            posted on 2006-08-02 12:08 楊粼波 閱讀(370) 評論(0)  編輯 收藏 引用 所屬分類: C++

            婷婷久久五月天| 日韩人妻无码一区二区三区久久 | 99久久中文字幕| 国产69精品久久久久9999| 亚洲国产精品无码久久久久久曰| 精品国产乱码久久久久久人妻| 国产精品久久成人影院| 欧美精品国产综合久久| 国产精品久久久久久久午夜片 | 狠狠色丁香婷综合久久| 国产69精品久久久久观看软件| 青青草原综合久久| 久久久久人妻一区二区三区vr| 久久久久这里只有精品 | 午夜精品久久久久久久| 久久国产精品免费一区| av色综合久久天堂av色综合在| 94久久国产乱子伦精品免费| 伊人精品久久久久7777| 91久久精品国产成人久久| 国产精品久久久久久| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲精品高清久久| 国产一久久香蕉国产线看观看 | 久久午夜福利电影| 久久天堂电影网| 四虎国产永久免费久久| 国产精品久久99| 免费观看久久精彩视频| 国产欧美一区二区久久| 国产精品一区二区久久国产| 亚洲欧美伊人久久综合一区二区 | 精品午夜久久福利大片| 久久国产精品无码HDAV| 国产亚洲色婷婷久久99精品| 久久天堂AV综合合色蜜桃网| 亚洲精品乱码久久久久久自慰 | 精品人妻伦一二三区久久| 久久99精品国产麻豆不卡| 久久久黄片| 亚洲午夜久久久久妓女影院 |