相关疑难解决方法(0)

什么时候应该使用static_cast,dynamic_cast,const_cast和reinterpret_cast?

有什么用途:

  • static_cast
  • dynamic_cast
  • const_cast
  • reinterpret_cast
  • C风格演员 (type)value
  • 功能式演员 type(value)

如何决定在哪些特定情况下使用哪个?

c++ pointers casting c++-faq

2367
推荐指数
9
解决办法
52万
查看次数

C++中的dynamic_cast和static_cast

dynamic_cast对C++中的关键字很困惑.

struct A {
    virtual void f() { }
};
struct B : public A { };
struct C { };

void f () {
    A a;
    B b;

    A* ap = &b;
    B* b1 = dynamic_cast<B*> (&a);  // NULL, because 'a' is not a 'B'
    B* b2 = dynamic_cast<B*> (ap);  // 'b'
    C* c = dynamic_cast<C*> (ap);   // NULL.

    A& ar = dynamic_cast<A&> (*ap); // Ok.
    B& br = dynamic_cast<B&> (*ap); // Ok.
    C& cr = dynamic_cast<C&> …
Run Code Online (Sandbox Code Playgroud)

c++ dynamic-cast

149
推荐指数
4
解决办法
16万
查看次数

标签 统计

c++ ×2

c++-faq ×1

casting ×1

dynamic-cast ×1

pointers ×1