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

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

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

    隨筆-204  評論-149  文章-0  trackbacks-0
    關于const_cast    
        const char str[] = "abc";
        char * s = const_cast<char *>(str);
        s[0] = 'A';
     
        cout<<s<<endl;    //輸出Abc
    但是這樣就不行了:
       const char *str = "abc";
        char * s = const_cast<char *>(str);
        s[0] = 'A';
     
        cout<<s<<endl;    //編譯能通過,但是執行就報錯。

    : const char str[] = "abc";        abc存儲在堆棧中;
    : const char *str = "abc";         abc存儲在靜態存儲區;
    準確的說,上面兩個“abc"都是存儲在靜態存儲區,即常量區。常量區是可讀不可寫的。所以任何試圖對常量區進行寫的操作都是非法的,當然了,這也不是一定不可寫的,你可以采取某種渠道改變常量區的內存屬性,比如改變pe相關節的屬性就可以對常量區進行讀寫,當然了,這個目前可以忽略。。。
    那么為什么str[] = "abc";        可以寫呢?答案就在str[] = "abc";會有一個額外的拷貝過程,即把常量區的 "abc"拷貝到棧內存去,所以就可以寫了。
    posted on 2009-08-05 16:57 Frank_Fang 閱讀(520) 評論(0)  編輯  收藏 所屬分類: C++編程
    主站蜘蛛池模板: 嘿嘿嘿视频免费网站在线观看| 中文字幕在线成人免费看| 免费播放春色aⅴ视频| 久久精品国产亚洲AV蜜臀色欲| 久热免费在线视频| 亚洲视频精品在线| 国产精品成人免费福利| 亚洲国产成人99精品激情在线| 久草在视频免费福利| 亚洲一区欧洲一区| 日本特黄特色aa大片免费| 亚洲av无码成人精品区一本二本| 免费爱爱的视频太爽了| 福利片免费一区二区三区| 亚洲精品国自产拍在线观看| 国产99精品一区二区三区免费 | 亚洲综合视频在线| 久久WWW免费人成一看片| 久99精品视频在线观看婷亚洲片国产一区一级在线| 亚洲日本天堂在线| 国产中文字幕免费观看| 国产99久久久国产精免费| 亚洲国产天堂久久综合网站| 91成人免费观看网站| 男女超爽视频免费播放| 中文字幕精品亚洲无线码一区应用| 久久er国产精品免费观看2| 亚洲成a人片7777| 永久黄网站色视频免费直播| 国产97视频人人做人人爱免费| 亚洲五月六月丁香激情| 韩国免费三片在线视频| 国产在线播放线91免费| 亚洲a∨无码男人的天堂| 亚洲国产精品综合久久一线| 一级毛片免费毛片一级毛片免费 | 亚洲午夜福利717| 精品国产无限资源免费观看| 美女扒开屁股让男人桶爽免费 | 黄网站色在线视频免费观看| 手机永久免费的AV在线电影网|