<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 閱讀(1109) 評論(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

    主站蜘蛛池模板: 91成人在线免费观看| 未满十八私人高清免费影院| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 在线观看免费毛片| 亚洲免费福利在线视频| 无码中文在线二区免费| 亚洲一级特黄特黄的大片| 中文字幕无码成人免费视频| 亚洲一区二区三区高清视频| 成人免费一级毛片在线播放视频| 亚洲精品免费网站| 小小影视日本动漫观看免费| 特级做a爰片毛片免费看| 久久乐国产精品亚洲综合| a在线观看免费网址大全| 亚洲精品国精品久久99热一| 免费视频成人片在线观看| 91亚洲精品麻豆| 日本成人在线免费观看| 一级做a爰片性色毛片免费网站| 亚洲精品字幕在线观看| 久久国产色AV免费观看| 亚洲乱码一区二区三区国产精品| 四虎影院永久免费观看| 国产中文字幕在线免费观看| 老汉色老汉首页a亚洲| 午夜高清免费在线观看| 一二三区免费视频| 亚洲电影在线播放| 国产又大又黑又粗免费视频 | 日本人护士免费xxxx视频| 国产三级在线免费观看| 亚洲第一区视频在线观看| 国产女高清在线看免费观看| 黄色免费在线网站| 99久久国产亚洲综合精品| 国产亚洲美日韩AV中文字幕无码成人| 99久久综合精品免费| 国产亚洲视频在线观看网址 | 无人在线观看完整免费版视频| 深夜福利在线免费观看|