演员表或C风格类型演员

这个问题在这里已经有了答案:

  • 什么时候应该使用static_cast,dynamic_cast,const_cast和reinterpret_cast? 6个答案

  • 演员应该很少使用,并且小心谨慎,如果你写作时滥用系统会更容易发现:

    char *x = const_cast<char *>(some_const_char_pointer_expression);
    

    比如果你掩饰它:

    char *x = (char *)some_const_char_pointer_expression;
    

    因此,使用明确的,受控制的,详细的表示法是因为它鼓励您避免强制转换,并在必须使用转换时使用正确,精确的转换。


    C风格演员更普遍。 它从'选择' const_caststatic_castconst_caststatic_castdynamic_cast ,然后dynamic_castconst_cast最后reinterpret_castreinterpret_castconst_cast 。 所以,正如你所看到的,c-cast和reinterpret_cast之间的区别很大,因为C-cast演员首先需要静态和动态演员阵容。

    如果你用C ++编写,你应该更喜欢使用上面的类型转换而不是C风格转换。 他们更明确。 但是C风格的演员阵容并不是非常非常糟糕的风格。

    链接地址: http://www.djcxy.com/p/28707.html

    上一篇: cast or C Style type casting

    下一篇: Acceptable example of when to use a dynamic