• <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)
              回復  更多評論
              
            久久久中文字幕| 亚洲精品乱码久久久久久按摩 | 亚洲欧洲久久av| 香蕉久久夜色精品国产2020 | 久久久久女人精品毛片| 久久精品国产精品国产精品污| 亚洲伊人久久大香线蕉苏妲己| 久久久久女教师免费一区| 久久久久亚洲av综合波多野结衣| 国产91色综合久久免费分享| 久久午夜综合久久| 国产精品99久久99久久久| 久久亚洲精品无码观看不卡| 久久天天躁狠狠躁夜夜躁2O2O | 欧美精品一区二区久久| 久久无码人妻一区二区三区| 久久综合成人网| 中文字幕久久欲求不满| 久久丫精品国产亚洲av不卡 | 老色鬼久久亚洲AV综合| 一级a性色生活片久久无| 99久久精品免费看国产免费| 久久精品亚洲一区二区三区浴池 | 狠狠色婷婷久久一区二区三区| 久久最新免费视频| 久久99精品久久久久久不卡| 99久久综合狠狠综合久久止| 日韩AV无码久久一区二区| 欧美亚洲国产精品久久| 亚洲v国产v天堂a无码久久| 国产午夜精品理论片久久| 欧美激情精品久久久久| 成人综合伊人五月婷久久| 久久ZYZ资源站无码中文动漫| 一本色道久久综合狠狠躁| 色偷偷88欧美精品久久久| 色综合久久中文字幕综合网| 久久久精品人妻无码专区不卡| 亚洲国产成人久久综合碰碰动漫3d| 国产亚洲精品自在久久| 国产精品美女久久久久网|