<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    C++中麻煩的const(1)

    Posted on 2006-11-22 17:03 iceboundrock 閱讀(1108) 評論(0)  編輯  收藏 所屬分類: 算法與數據結構學習

    關于const,C++的const是一個非常非常麻煩的關鍵字,但是如果你不用,也會帶來一些麻煩。

    下面一段簡單的程序,演示了const變量,const指針的奇妙關系

    ?

    ?1 #include? " stdafx.h "
    ?2
    ?3
    ?4 int ?_tmain( int ?argc,?_TCHAR * ?argv[])
    ?5 {
    ?6 ? const ? int ?constInt1? = ? 1 ;
    ?7
    ?8 ? const ? int ? * constIntPoint? = ?NULL;
    ?9
    10 ? int ? * IntPoint? = ?NULL;
    11
    12 ?constIntPoint? = ? & constInt1;
    13
    14 ? const ? int ?constInt2? = ? 2 ;
    15
    16 ? int ?Int3? = ? 3 ;
    17 ?
    18 ? // IntPoint?=?&constInt2;? // Error?1
    19
    20
    21 ?constIntPoint? = ? & Int3;
    22
    23 ? // (*constIntPoint)++;? // Error?2
    24
    25 ?printf( " constInt1=%d\r\n " ,?constInt1);
    26 ?printf( " constInt2=%d\r\n " ,?constInt2);
    27 ?printf( " Int3=%d\r\n " ,?Int3);
    28
    29 ?printf( " constIntPoint?point?to?%d\r\n " ,? * constIntPoint);
    30 ? return ? 0 ;
    31 }

    32
    33


    最簡單最清晰的const使用方法就是聲明const變量了,變量需要在生命的地方立即初始化,初始化完成之后就不能再改了。

    如果你用同樣的思路來看待const指針,你會發現你錯的很嚴重,你看,這個constIntPoint換了幾個目標依然生龍活虎,編譯器很愉快的接受了這段代碼,連個warn都沒有。
    原來const指針是指向const變量的指針,而不是說指針本身是const的。無

    ok,const變量不能直接修改,難道我取到他的地址,再來修改都不行么?不行,編譯器會直接告訴你,無法把一個const的指針轉換成普通指針,

    Error?1?error C2440: '=' : cannot convert from 'const int *__w64 ' to 'int *'?

    論一個變量原來是否被聲明成const,你用一個const指針指向它,然后使用*運算符號取出這個變量試圖進行修改的操作都是不允許的,參考代碼中被注釋掉的Error2。

    Error?2?error C3892: 'constIntPoint' : you cannot assign to a variable that is const?


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    posts - 10, comments - 15, trackbacks - 0, articles - 0

    Copyright © iceboundrock

    主站蜘蛛池模板: 免费观看亚洲人成网站| 麻豆精品不卡国产免费看| 国产在线a免费观看| 亚洲色欲色欲综合网站| 国产精品免费观看调教网| 亚洲婷婷五月综合狠狠爱| 一个人看的hd免费视频| 国产成人精品男人免费| 美女免费视频一区二区| 国产伦一区二区三区免费| 老司机午夜精品视频在线观看免费| 日韩成全视频观看免费观看高清| 亚洲日韩国产一区二区三区在线| 成人av免费电影| 亚洲av无码专区青青草原| 免费a在线观看播放| 一区二区免费在线观看| 亚洲日韩在线观看免费视频| a级毛片在线免费观看| 久久精品国产亚洲AV麻豆~| 最近最好最新2019中文字幕免费| 亚洲最大在线观看| 亚洲第一成年免费网站| 大桥未久亚洲无av码在线| 亚洲高清免费视频| 大地资源在线资源免费观看| 亚洲国产成人久久综合碰碰动漫3d| 一区二区免费视频| 亚洲粉嫩美白在线| 大胆亚洲人体视频| 两个人看www免费视频| 亚洲视频手机在线| 女人毛片a级大学毛片免费| 在线亚洲精品视频| 国产亚洲欧洲精品| 成人免费视频77777| 新最免费影视大全在线播放| 亚洲av永久无码精品秋霞电影影院| 我们的2018在线观看免费高清| 理论亚洲区美一区二区三区| 久久亚洲国产午夜精品理论片|