青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

c語言強制轉化的正確使用 c強制類型轉換規則


dynamic_cast是四個強制類型轉換操作符中最特殊的一個,它支持運行時識別指針或引用 。
>>>>>>>>>>>編譯器的RTTI設置>>>>>>>>>>>
dynamic_cast提供RTTI(Run-Time Type Information),也就是運行時類型識別 。它對編譯器有要求,需要編譯器啟動“運行時類型信息”這一選項 。當編譯器不開啟RTTI時,運行含有dynamic_cast操作符的程序時會出現一個警告:
warning C4541: “dynamic_cast”用在了帶 /GR- 的多態類型“ANIMAL”上;可能導致不可預知的行為 VS2010在默認下是開啟RTTI的,也可以自己手動去開啟或者關閉,操作如下:
視圖->解決方案資源管理器在打開的解決方案管理器中,對著項目名稱右擊,選擇屬性配置屬性-〉C/C>>>>>>>>>>>>>步入正題>>>>>>>>>>>>>
dynamic_cast主要用于“安全地向下轉型”dynamic_cast用于類繼承層次間的指針或引用轉換 。主要還是用于執行“安全的向下轉型(safe downcasting)”,也即是基類對象的指針或引用轉換為同一繼承層次的其他指針或引用 。至于“先上轉型”(即派生類指針或引用類型轉換為其基類類型),本身就是安全的,盡管可以使用dynamic_cast進行轉換,但這是沒必要的,普通的轉換已經可以達到目的,畢竟使用dynamic_cast是需要開銷的 。
class ba

    猜你喜歡