<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

    主站蜘蛛池模板: 一个人晚上在线观看的免费视频 | 中文精品人人永久免费| 歪歪漫画在线观看官网免费阅读| 亚洲AV无码第一区二区三区| 91亚洲自偷在线观看国产馆| 中文字幕免费在线观看| 亚洲福利视频网站| 四虎在线免费视频| 亚洲无线码在线一区观看| 国产精品免费久久| 国产精品亚洲成在人线| 亚洲日本在线电影| 国产成人精品免费视频软件| 亚洲av日韩综合一区二区三区| 又粗又硬又黄又爽的免费视频| 九九九国产精品成人免费视频| 奇米影视亚洲春色| 久久精品中文字幕免费| 亚洲一区二区三区免费视频| 日本免费福利视频| 一级大黄美女免费播放| 亚洲AV无码乱码国产麻豆| 亚洲视频免费播放| 亚洲av无码专区在线观看下载| 亚洲中文字幕无码爆乳av中文| 国内精品一级毛片免费看| 亚洲精品偷拍视频免费观看| 香蕉免费在线视频| 亚洲无成人网77777| 日韩成人在线免费视频| 中文在线观看永久免费| 亚洲国产精品久久网午夜| 国产自产拍精品视频免费看| 你是我的城池营垒免费观看完整版 | 亚洲日本在线观看| 夭天干天天做天天免费看| 男女一进一出抽搐免费视频| 亚洲女人18毛片水真多| 亚洲国产精品人人做人人爽| 2020因为爱你带字幕免费观看全集 | 亚洲中文精品久久久久久不卡|