演员表或C风格类型演员
这个问题在这里已经有了答案:
演员应该很少使用,并且小心谨慎,如果你写作时滥用系统会更容易发现:
char *x = const_cast<char *>(some_const_char_pointer_expression);
比如果你掩饰它:
char *x = (char *)some_const_char_pointer_expression;
因此,使用明确的,受控制的,详细的表示法是因为它鼓励您避免强制转换,并在必须使用转换时使用正确,精确的转换。
C风格演员更普遍。 它从'选择' const_cast , static_cast , const_cast用static_cast , dynamic_cast ,然后dynamic_cast用const_cast最后reinterpret_cast , reinterpret_cast用const_cast 。 所以,正如你所看到的,c-cast和reinterpret_cast之间的区别很大,因为C-cast演员首先需要静态和动态演员阵容。
如果你用C ++编写,你应该更喜欢使用上面的类型转换而不是C风格转换。 他们更明确。 但是C风格的演员阵容并不是非常非常糟糕的风格。
链接地址: http://www.djcxy.com/p/28707.html