static_cast是一个c++运算符,功能是把一个表达式转换为某种类型,但没有运行时类型检查来保证转换的安全性。

  • 用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。
    进行上行转换(把派生类的指针或引用转换成基类表示)是安全的。进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。
  • 用于基本数据类型之间的转换。
#include <iostream>

using namespace std;

int main() {
    double a = 3.236;
    int b = static_cast<int>(a);
    cout << b <<endl;
    cout << sizeof(b) << endl;
    return 0;
}
3
4
  • 把空指针转换成目标类型的空指针。
  • 把任何类型的表达式转换成void类型。

参考百度

标签: none

添加新评论