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

Note of Justin

關于工作和讀書的筆記

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

留言簿(14)

搜索

  •  

積分與排名

  • 積分 - 53242
  • 排名 - 433

最新評論

閱讀排行榜

評論排行榜

[原創文章歡迎轉載,但請保留作者信息]
Justin 于 2009-12-31


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

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

Feedback

# re: Effective C++ 炒冷飯 - Item 27 珍愛生命 遠離類型轉換 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;

經編譯器轉化后可能這樣:

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>
            国产精品美女久久久浪潮软件| 亚洲人成网在线播放| 国产精品一区二区在线| 国产精品黄视频| 国产精品日韩一区二区| 国产综合18久久久久久| 一区在线观看| 亚洲三级免费观看| 亚洲欧美国产高清va在线播| 亚洲欧美国产高清| 久久久噜噜噜久久| 免费欧美日韩国产三级电影| 亚洲国产1区| 一区二区三区日韩在线观看 | 久久精品在线| 欧美诱惑福利视频| 久久久久国产一区二区三区四区 | 最新日韩精品| 一区二区电影免费观看| 欧美一区二区黄色| 久久精品人人做人人爽电影蜜月| 欧美在线啊v| 欧美激情一区在线| 午夜国产欧美理论在线播放 | 亚洲美女电影在线| 亚洲一区国产视频| 欧美成在线视频| 国产精品久久久一区麻豆最新章节 | 国产一区二区三区四区| 最新国产乱人伦偷精品免费网站| 亚洲最新在线视频| 久久婷婷国产综合国色天香| 日韩视频免费观看高清在线视频 | 久久免费少妇高潮久久精品99| 亚洲韩日在线| 欧美在线资源| 欧美日韩三区| 亚洲国产片色| 久久久久国产精品一区三寸 | 欧美一区免费视频| 亚洲精品网址在线观看| 久久婷婷一区| 极品尤物av久久免费看 | 亚洲欧美另类在线| 欧美国产1区2区| 国精产品99永久一区一区| 一区二区三区欧美日韩| 免费欧美日韩国产三级电影| 亚洲欧美综合v| 国产精品成人免费| 亚洲精品自在久久| 欧美国产日韩一区二区在线观看| 午夜在线电影亚洲一区| 欧美午夜精品久久久久免费视| 亚洲欧洲精品一区二区| 亚洲一区二区三区午夜| 欧美激情一区二区在线| 亚洲欧美区自拍先锋| 欧美日韩午夜在线| 亚洲理论电影网| 欧美成人影音| 蜜臀久久99精品久久久久久9| 在线看片欧美| 欧美肥婆在线| 欧美福利视频一区| 日韩一级精品视频在线观看| 亚洲国产天堂网精品网站| 免费亚洲电影在线| 亚洲精品久久久久久久久久久久| 亚洲高清视频的网址| 欧美福利影院| 亚洲一区二区免费| 亚洲免费在线播放| 国产午夜精品一区理论片飘花| 久久精品国产久精国产爱| 久久美女性网| 亚洲精品综合精品自拍| 一本到12不卡视频在线dvd | 国产一区二区三区成人欧美日韩在线观看 | 欧美在线观看日本一区| 国模精品一区二区三区| 久久综合九色综合欧美就去吻| 久久久久se| 亚洲精品在线电影| 亚洲一区二区免费看| 国产区精品在线观看| 美女视频黄a大片欧美| 欧美精品福利| 欧美一区二区三区四区在线观看| 久久精品一二三| 艳女tv在线观看国产一区| 中文欧美在线视频| 在线观看精品| 亚洲视频欧美视频| 在线看国产一区| 亚洲深夜福利网站| 在线日韩日本国产亚洲| 日韩视频免费大全中文字幕| 国产欧美一区二区三区久久人妖 | 久久久噜噜噜久久中文字免| 亚洲日韩视频| 久久国产成人| 亚洲一二三四久久| 久久婷婷丁香| 亚洲欧美综合| 欧美精品性视频| 性色一区二区三区| 欧美国产一区二区三区激情无套| 欧美激情亚洲国产| 久久精品在线观看| 欧美日韩国产在线| 国产精品v欧美精品v日韩精品| 久久久国产精彩视频美女艺术照福利| 欧美成人精品h版在线观看| 欧美在线首页| 国产精品第一区| 亚洲激情在线激情| 亚洲成人自拍视频| 欧美一级淫片aaaaaaa视频| 亚洲网站在线| 欧美日韩高清一区| 亚洲福利视频二区| 136国产福利精品导航网址应用 | 国产一区二区成人| 国产精品99久久久久久久久 | 国产视频一区在线观看| 日韩一区二区精品在线观看| 亚洲成人中文| 久热精品视频在线免费观看| 久久精品国产清自在天天线 | 国产热re99久久6国产精品| 99在线视频精品| 一区二区三区日韩精品视频| 欧美不卡视频一区发布| 欧美成人性网| 亚洲国产一成人久久精品| 久久一区二区视频| 欧美成人高清视频| 亚洲人成在线观看一区二区| 欧美顶级少妇做爰| 亚洲国产三级| 亚洲一区二区三区免费观看| 欧美日韩一卡| 中文在线资源观看视频网站免费不卡| 亚洲一本大道在线| 国产欧美日韩三级| 久久免费的精品国产v∧| 欧美激情按摩在线| 夜夜嗨网站十八久久| 欧美午夜女人视频在线| 亚洲区欧美区| 欧美欧美全黄| 亚洲无线视频| 久久久免费观看视频| 亚洲国产精品久久久久婷婷884 | 欧美国产日韩精品| 亚洲麻豆av| 欧美影院视频| 亚洲丰满在线| 欧美日韩和欧美的一区二区| 亚洲天堂久久| 欧美v亚洲v综合ⅴ国产v| 一区二区欧美激情| 久久视频一区二区| 国产精品青草久久久久福利99| 国产精品99久久久久久宅男| 久久精品成人一区二区三区蜜臀 | 欧美二区视频| 亚洲新中文字幕| 午夜精品久久久久久久久久久| 国产精品一区二区三区久久久| 久久成人18免费网站| 亚洲大胆美女视频| 亚洲欧美乱综合| 一区二区三区在线视频观看| 欧美国产一区视频在线观看| 亚洲视频免费观看| 亚洲国产乱码最新视频| 欧美伊人影院| 夜夜嗨一区二区| 黄色日韩在线| 国产精品色午夜在线观看| 美女被久久久| 欧美在线在线| 亚洲——在线| 亚洲理论在线| 亚洲丰满少妇videoshd| 欧美中文字幕视频在线观看| 99re成人精品视频| 亚洲成人在线网| 国产一区二区三区黄视频| 欧美日韩免费观看一区二区三区| 久久久精品视频成人| 亚洲欧美国产精品va在线观看| 亚洲欧洲精品一区二区三区不卡| 久久久一区二区| 欧美激情一区二区三区在线视频观看| 亚洲视频中文字幕| 99精品热6080yy久久| 欧美激情视频给我|