• <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 日需博客 閱讀(2219) 評論(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)
              回復  更多評論
              
            久久综合久久鬼色| 国产99久久久国产精免费| 久久天天日天天操综合伊人av| 99久久免费国产精品| 婷婷久久综合| 久久人爽人人爽人人片AV| 婷婷综合久久狠狠色99h| 日韩欧美亚洲国产精品字幕久久久| 一本久久免费视频| 国产精品久久久天天影视香蕉| 伊人久久一区二区三区无码| 久久99精品综合国产首页| 色综合久久中文字幕综合网| 精品久久久噜噜噜久久久 | 欧美性大战久久久久久 | 国产精品久久国产精品99盘 | 久久精品国产91久久麻豆自制| 久久久久一区二区三区| 中文国产成人精品久久不卡| 精品国产综合区久久久久久| 久久综合噜噜激激的五月天| 久久亚洲AV无码西西人体| 久久99国产乱子伦精品免费| 久久久久久免费视频| 伊人久久大香线焦综合四虎| 久久国产精品成人影院| 99久久精品免费看国产一区二区三区 | 99久久免费国产特黄| 久久久久久久波多野结衣高潮| 久久精品成人一区二区三区| 久久精品无码专区免费青青| 久久久久亚洲AV成人网人人网站| 久久久久亚洲AV成人网| 国产亚洲色婷婷久久99精品91| 久久精品九九亚洲精品天堂 | 国内精品久久久久影院薰衣草| 久久综合色之久久综合| 日韩va亚洲va欧美va久久| 日本国产精品久久| 国产精品久久久久久久久软件| 久久亚洲国产精品123区|