• <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)
              回復  更多評論
              
            精品国产91久久久久久久| 久久www免费人成精品香蕉| 日日狠狠久久偷偷色综合0| 久久久久久噜噜精品免费直播 | 国产韩国精品一区二区三区久久| 色婷婷久久综合中文久久蜜桃av| 999久久久无码国产精品| 国内精品久久久久久久久电影网| 欧美日韩精品久久免费| 久久人人爽爽爽人久久久| 91精品国产综合久久香蕉| 国产一区二区久久久| 午夜不卡888久久| 欧美大香线蕉线伊人久久| 亚洲欧美日韩精品久久| 色综合久久久久无码专区| 亚洲天堂久久精品| 久久久久成人精品无码中文字幕 | 青青草原综合久久大伊人精品| 99久久精品无码一区二区毛片| 国产成人精品久久| 亚洲国产成人精品无码久久久久久综合| 亚洲精品无码久久久久sm| 亚洲国产婷婷香蕉久久久久久| 国产精品无码久久久久久| 伊人久久大香线蕉av不卡| 日韩电影久久久被窝网| 国产69精品久久久久9999| 欧洲成人午夜精品无码区久久| 亚洲国产精品狼友中文久久久| 久久97久久97精品免视看| 久久免费美女视频| 国产一级做a爰片久久毛片| 狠狠色婷婷久久一区二区| 性欧美大战久久久久久久| 久久精品这里只有精99品| 久久精品一区二区三区中文字幕 | 麻豆一区二区99久久久久| 久久精品一本到99热免费| 性做久久久久久久久浪潮| 国内精品久久久久影院亚洲|