C++进阶

来源:互联网 发布:网络机顶盒电视不出来 编辑:程序博客网 时间:2024/06/08 12:30

关键字

  • reinterpret_cast

    1. reinterpret_cast运算符是用来处理无关类型之间的转换;
    2. reinterpret_cast用在任意指针(或引用)类型之间的转换;以及指针与足够大的整数类型之间的转换;从整数类型(包括枚举类型)到指针类型,无视大小。
    3. const char* p1 = < reinterpret_cast> const unsigned char* p2;
  • static_cast

    1.static_cast 运算符完成相关类型之间的转换. 而 reinterpret_cast 处理互不相关的类型之间的转换.

  • const_cast

    1.const_cast 用来移除 const

  • dynamic_cast
    1.dynamic_cast 需要 RTTI 支持, 主要用于把基类指针转换为派生类指针.这里的基类指针其实是指向一个派生类实例,只是类型为基类.

    A *ptrA = new class B;B *ptrB = dynamic_cast<B*>(ptrA);
0 0