• <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>
            流量統計:
            Rixu Blog (日需博客)
            日需博客,每日必需來踩踩哦..
            posts - 108,comments - 54,trackbacks - 0
            2個指針指向的地址和變量地址一樣,值為什么不一樣呢?疑惑。
            1. #include "stdafx.h"
            2.  
            3.  
            4. int _tmain(int argc, _TCHAR* argv[])
            5. {
            6.     const int a=10;
            7.     const int *p1=&a;
            8.     int *p2=const_cast<int *>(p1);
            9.     if (&a==p1)
            10.     {
            11.         printf("&a==p1\n");
            12.     }
            13.     else
            14.     {
            15.         printf("&a!=p1\n");
            16.     }
            17.     if (p2==p1)
            18.     {
            19.         printf("p2==p1\n");
            20.     }
            21.     else
            22.     {
            23.         printf("p2==p1\n");
            24.     }
            25.     printf("%#p:%d %#p:%d %#p:%d\n",&a,a,p1,*p1,p2,*p2);
            26.     *p2=20;
            27.     if (&a==p1)
            28.     {
            29.         printf("&a==p1\n");
            30.     }
            31.     else
            32.     {
            33.         printf("&a!=p1\n");
            34.     }
            35.     if (p2==p1)
            36.     {
            37.         printf("p2==p1\n");
            38.     }
            39.     else
            40.     {
            41.         printf("p2==p1\n");
            42.     }
            43.     printf("
              %#p:%d %#p:%d %#p:%d
              \n"
              ,&a,a,p1,*p1,p2,*p2);
            44.     return 0;
            45. }
            46.  

            Logo
            作者:Gezidan
            出處:http://www.rixu.net    
            本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
            posted on 2011-09-10 21:21 日需博客 閱讀(2224) 評論(7)  編輯 收藏 引用 所屬分類: C C++未分類

            FeedBack:
            # re: 修改const變量的疑問[未登錄]
            2011-09-10 23:30 | X
            是編譯器優化造成的  回復  更多評論
              
            # re: 修改const變量的疑問
            2011-09-11 00:01 | Gezidan Studio
            能否詳細點?@X
              回復  更多評論
              
            # re: 修改const變量的疑問[未登錄]
            2011-09-11 08:16 | jejer
            關鍵詞:常量折疊
            const值會在編譯時直接被確定  回復  更多評論
              
            # re: 修改const變量的疑問
            # re: 修改const變量的疑問
            2011-09-11 17:43 | 11
            歡迎加QQ群來 歡迎大家 提問
            QQ群:C C++ linux 軟件基地① 64222213 滿
            QQ群:C C++ linux 軟件基地② 93623167 沒滿
            QQ群:C C++ linux 軟件基地③ 167881329 滿
            QQ群:C C++ linux 軟件基地④ 174551731 高級群(沒滿)  回復  更多評論
              
            # re: 修改const變量的疑問
            2011-09-12 12:07 | 陳梓瀚(vczh)
            假設有代碼
            const int a=0;
            int *b=const_cast<int*>(&a);
            int c=a;

            編譯器會變成
            int a=0;
            int *b=&a;
            int c=10;

            因此修改*b當然跟c毫無關系了,因為常數被傳播了。本來就不應該干修改const變量內容的事情。  回復  更多評論
              
            # re: 修改const變量的疑問
            2011-09-12 21:13 | Gezidan Studio
            非常透徹@陳梓瀚(vczh)
              回復  更多評論
              
            色88久久久久高潮综合影院 | 久久亚洲日韩看片无码| 国产精品欧美久久久久无广告| 久久综合久久综合久久| 久久亚洲中文字幕精品一区| 精品多毛少妇人妻AV免费久久| 99久久久精品免费观看国产| 99久久国产综合精品成人影院| 久久久黄色大片| 欧洲精品久久久av无码电影| 久久亚洲高清观看| 中文国产成人精品久久不卡| 伊人久久免费视频| 午夜不卡久久精品无码免费| 久久国产成人午夜aⅴ影院| 少妇高潮惨叫久久久久久 | 久久伊人影视| 久久久久亚洲Av无码专| 久久中文字幕精品| 精品久久人人爽天天玩人人妻| 亚洲国产另类久久久精品 | 久久人人爽人人爽人人AV| 久久久久久青草大香综合精品| 精品无码久久久久久午夜| 欧美日韩久久中文字幕| 欧洲国产伦久久久久久久 | 一本大道久久香蕉成人网| 1000部精品久久久久久久久| 久久亚洲AV成人无码| 开心久久婷婷综合中文字幕| 国产三级精品久久| 久久996热精品xxxx| 色综合久久最新中文字幕| 久久国产高清字幕中文| 久久久国产精品网站| 久久综合综合久久综合| 久久亚洲AV无码精品色午夜| 777午夜精品久久av蜜臀| 国产69精品久久久久9999APGF | 亚洲午夜福利精品久久| 国产精品久久久久乳精品爆|