zoukankan      html  css  js  c++  java
  • dynamic_cast和static_cast终极辨析

    static_cast:强制类型转换cast。因此,当然可以用于有继承关系的类之间的cast,细分有三类:
    upcast:Just same as dynamic_cast. 由于不用做runtime类型检查,效率比dynamic_cast高;
    downcast:不安全得很。不建议使用。
    crosscast:不能用。带来编译错误。

    dynamic_cast:有继承关系的类之间的cast。非常安全,但是由于需要做runtime类型检查,并且需要virtual table的支持,效率低些。细分三类:
    upcast:ok。static_cast就完全够了。
    downcast:必须用它。这样,当做不正确的downcast时才能得到NULL指针,,而不会像static_cast那样得到一个可以用的其实是没有用的非空指针。
    crosscast:只能用它才能实现。
  • 相关阅读:
    password
    bzoj 1458: 士兵占领
    国家集训队2011 happiness
    cogs 2051. 王者之剑
    uva 10779 Collectors Problem
    [Jxoi2012]奇怪的道路
    天神下凡
    藏宝图
    黑红树
    愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/taoxu0903/p/1232596.html
Copyright © 2011-2022 走看看