c c++类型转换

<1>static_cast<目标类型>编译期检查,父子类关系能够转换安全

<2>dynamic_cast<目标类型>运行期检查,明确基类指针指向子类引用,转为子类指针安全ide

<3>reinterpret_cast<目标类型>编译期和运行期都不检查,并且永远能够转换成功函数

<4>const_cast<目标类型>const类型的指针变为非const类型的指针spa

const int *fun(int, int){}指针

int* ptr = const_cast<int*>(fun(2, 3));ci

<5>类型转换操做符 operator 目标类型(voidit

class Point3D;编译

class Point2Dast

{class

public:

Point2D(int x = 0, int y = 0):m_x(x),m_y(y){}

operator Point3D(void);

private:

int m_x, m_y;

};

Point2D::operator Point3D(void)//此函数须要放在Point3D类声明的后面

{

return Point3D(m_x, m_y, 0);

}

explicit显示调用限定符

相关文章
相关标签/搜索