青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Note of Justin

關(guān)于工作和讀書的筆記

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  47 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks

留言簿(14)

搜索

  •  

積分與排名

  • 積分 - 53466
  • 排名 - 433

最新評論

閱讀排行榜

評論排行榜

[原創(chuàng)文章歡迎轉(zhuǎn)載,但請保留作者信息]
Justin 于 2009-12-31


好吧,我承認2009最后一天我做了一次標題黨……因為此條規(guī)是讀到現(xiàn)在感覺寫得最糊涂的一條,理解起來自然也是稀里糊涂。所以需要“騙”來更多的高手來找碴:) 真實的題目應該是盡量少用類型轉(zhuǎn)換。

大師先是復習了一下類型轉(zhuǎn)換的三種形式(前面兩種都是C風格的舊式類型轉(zhuǎn)換):
  1. (類型) 表達式
  2. 類型(表達式)
  3. C++風格的類型轉(zhuǎn)換
既然是Effective C++,自然要重點介紹后者。當然,大師也提倡用新的工具,因為:
  • 容易程序中找到發(fā)生類型轉(zhuǎn)換的代碼(通過搜索轉(zhuǎn)換關(guān)鍵字)
  • 新風格的類型轉(zhuǎn)換細化了不同種類的類型轉(zhuǎn)換,有利于編譯器發(fā)現(xiàn)可能的錯誤(編譯器啊編譯器……)
C++風格的類型轉(zhuǎn)換有以下四種:(具體用處參考primer之類的字典……)
  • const_cast:設(shè)置或是去除對象的const屬性。
  • dynamic_cast:主要用于繼承關(guān)系層次中的向上、向下轉(zhuǎn)換,以及類之間的交叉轉(zhuǎn)換。會進行轉(zhuǎn)換安全性檢查。
  • static_cast:可用于內(nèi)置類型的轉(zhuǎn)換,以及繼承關(guān)系層次中的向上轉(zhuǎn)換。沒有轉(zhuǎn)換安全性檢查。
  • reinterpret_cast:簡單的強制將一個指針轉(zhuǎn)換為另外一種指針或整數(shù)類型,不做任何檢查。
但是,這里要說的是盡可能的避免動用類型轉(zhuǎn)換。因為:
  • 類型轉(zhuǎn)換還可能引發(fā)額外的代碼運行。比如說dynamic_cast就會通過調(diào)用strcmp來比較類的名稱,從而完成繼承關(guān)系中不同類對象的轉(zhuǎn)換,這個時候就不僅僅是簡單的變變類型了。因此,說“類型轉(zhuǎn)換僅是告訴編譯器把一種類型的數(shù)據(jù)當成另外一種來參與計算”其實是一個理解上的誤區(qū)。
  • 類型轉(zhuǎn)換也有可能帶來額外開銷:比如書中用static_cast進行的繼承關(guān)系的向上轉(zhuǎn)換,就會自作主張地生成一個臨時的對象。
  • 在C++中,兩個指向同一個對象的不同指針可能擁有不同的地址值。【不理解,書上也沒有例子,股溝了很久也沒有答案,還請賜教】
因此,不僅要盡可能的避免轉(zhuǎn)換類型,而且在不得不使用類型轉(zhuǎn)換的時候,也應該考慮將轉(zhuǎn)換的代碼用函數(shù)封裝起來。
posted on 2010-01-22 09:04 Justin.H 閱讀(355) 評論(1)  編輯 收藏 引用 所屬分類: Effective C++ 炒冷飯

Feedback

# re: Effective C++ 炒冷飯 - Item 27 珍愛生命 遠離類型轉(zhuǎn)換 2010-03-14 20:40 Euan
【兩個指向同一個對象的不同指針可能擁有不同的地址值】
常見的像多重繼承:
class point 2d{...}
class point 3d : public point2d{...}
class vertex{...}
class vertex3d : public point3d, public vertex{...}

vertex3d v3d;
vertex *pv = &v3d;
point2d *p2d = &v3d;
point3d *p3d = &v3d;

經(jīng)編譯器轉(zhuǎn)化后可能這樣:

pv = (vertex*)(((char*)&v3d) + sizeof( point3d ));

而 p3d、p2d 只是簡單拷貝v3d的地址就行了。

---------------------
詳細可以參看《深度探索C++對象模型 (Inside The C++ Object Model)》
  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美午夜片欧美片在线观看| 翔田千里一区二区| 亚洲一区制服诱惑| 一区二区三区高清在线观看| 亚洲精品视频在线看| 亚洲精品一区二区三区婷婷月| 在线观看日韩av电影| 亚洲三级免费| 夜夜嗨av色一区二区不卡| 一区二区三区欧美激情| 亚洲欧美制服另类日韩| 久久精品国产99精品国产亚洲性色 | 久久精品成人一区二区三区| 久久一区免费| 亚洲大黄网站| 日韩亚洲国产欧美| 亚洲欧美中文日韩v在线观看| 久久精品亚洲乱码伦伦中文 | 最新日韩欧美| 亚洲性人人天天夜夜摸| 久久成年人视频| 欧美aa在线视频| 国产精品久久久久免费a∨| 国产一区二区日韩精品| av成人毛片| 久久久水蜜桃| 91久久久在线| 久久成人精品电影| 欧美日韩成人在线视频| 国产一区二区精品久久99| 亚洲日本成人| 欧美一区在线直播| 亚洲黄色在线视频| 欧美一区二区视频97| 欧美激情欧美狂野欧美精品| 久久精品国产成人| 免费高清在线一区| 日韩手机在线导航| 另类国产ts人妖高潮视频| 国产精品日韩| 亚洲精品无人区| 久久天堂成人| 亚洲综合成人在线| 欧美日韩午夜精品| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产精品电影网站| 亚洲国产三级在线| 久久国产欧美精品| 夜夜嗨av一区二区三区四区| 美女视频黄 久久| 国内自拍亚洲| 久久gogo国模裸体人体| 一区二区精品在线观看| 欧美精品电影| 亚洲精品免费在线| 亚洲大黄网站| 欧美日韩另类国产亚洲欧美一级| 亚洲国产女人aaa毛片在线| 亚洲愉拍自拍另类高清精品| 亚洲黄色高清| 美女脱光内衣内裤视频久久影院 | 亚洲日本视频| 欧美不卡视频一区| 久久久国产成人精品| 国产一区二区| 久久动漫亚洲| 午夜精品一区二区在线观看 | 欧美喷潮久久久xxxxx| 亚洲精品久久久一区二区三区| 国产精品豆花视频| 9国产精品视频| 亚洲美女中文字幕| 欧美日韩一区在线观看视频| 在线综合欧美| 亚洲永久视频| 国内精品美女在线观看| 免费观看日韩av| 欧美成人午夜剧场免费观看| 在线视频一区二区| 亚洲午夜91| 国产欧美日韩亚洲一区二区三区 | 亚洲高清资源| 欧美高清在线播放| 一本大道久久a久久综合婷婷| 亚洲美女区一区| 国产麻豆综合| 免费国产一区二区| 欧美日韩成人精品| 久久国产日韩| 欧美风情在线观看| 亚洲欧美电影在线观看| 久久国产成人| 日韩一级免费观看| 亚洲免费影院| 最新成人av在线| 亚洲色图自拍| 在线日韩一区二区| 一区二区日韩精品| 精品动漫一区| 一本大道av伊人久久综合| 国产亚洲午夜| 日韩一本二本av| 国产在线一区二区三区四区| 亚洲日韩第九十九页| 国产精品一区二区在线观看网站| 免费视频亚洲| 国产精品综合av一区二区国产馆| 欧美国产亚洲精品久久久8v| 国产精品丝袜91| 亚洲日本中文字幕区| 狠狠噜噜久久| 亚洲午夜在线视频| 一本色道久久综合亚洲精品高清| 久久精品国产96久久久香蕉| 亚洲制服欧美中文字幕中文字幕| 模特精品裸拍一区| 久久亚洲国产成人| 欧美系列精品| 亚洲国产婷婷香蕉久久久久久| 国产日韩在线不卡| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 99精品国产在热久久婷婷| 久久se精品一区二区| 亚洲一区二区综合| 欧美日本亚洲视频| 欧美大片第1页| 国产一区二区三区久久久久久久久 | 在线视频一区二区| 久久精品国产第一区二区三区最新章节| 日韩一区二区久久| 美女尤物久久精品| 卡通动漫国产精品| 国内精品久久久久久久影视麻豆| 亚洲欧美在线网| 午夜在线播放视频欧美| 欧美色图首页| 99在线热播精品免费| 在线中文字幕不卡| 欧美日韩在线免费观看| 亚洲精品久久久久久久久久久 | 91久久精品网| 美女国内精品自产拍在线播放| 久久综合久久综合九色| 在线观看视频日韩| 久久亚洲影音av资源网| 欧美激情1区2区3区| 亚洲经典自拍| 欧美日韩国产精品一卡| 9久草视频在线视频精品| 亚洲深爱激情| 国产精品久久久久久久9999 | 亚洲女人天堂成人av在线| 欧美一二区视频| 国产一区二区三区久久久久久久久| 久久99在线观看| 欧美顶级少妇做爰| 在线视频亚洲欧美| 国产女主播一区二区| 欧美自拍偷拍午夜视频| 欧美~级网站不卡| 亚洲看片网站| 国产精品免费网站在线观看| 午夜精品一区二区三区在线视| 久久深夜福利| 亚洲三级免费| 国产精品视频精品视频| 久久精品中文字幕一区| 亚洲美女在线观看| 久久久中精品2020中文| 一本色道精品久久一区二区三区| 国产精品福利在线| 久久精品国产精品亚洲综合| 亚洲国产精品一区二区www在线| 亚洲视频在线观看三级| 精品9999| 欧美性一区二区| 久久综合色8888| 亚洲线精品一区二区三区八戒| 欧美 亚欧 日韩视频在线| 亚洲影院一区| 亚洲黄色视屏| 国产亚洲欧洲一区高清在线观看| 欧美—级a级欧美特级ar全黄| 午夜精品久久久久久久久久久久久| 欧美国产精品va在线观看| 亚洲免费视频在线观看| 亚洲人成欧美中文字幕| 国产一在线精品一区在线观看| 欧美日韩第一区| 久久久久久久久久久久久久一区 | 午夜精品网站| 亚洲裸体视频| 狠久久av成人天堂| 欧美国内亚洲| 久久成人精品电影| 99视频精品免费观看| 在线成人h网| 国产日本欧美在线观看| 欧美日韩亚洲天堂| 免费观看成人|