在C语言中强制转换:
int main(){
double b=3.14159;
int a=(int)b; //写法一,类似于函数的写法。当文件比较大时,想要查看哪里使用了强转,这种写法找不到。
int c=int (b); //写法二,同写法一。
cout << a << endl;
cou << c << endl;
}
在C++中强制转换:
int main(){
double b=3.14159;
int d=static_cast<int>(b); //尖括号里的是目标类型,()里是参数。这种写法的好处就是当文件比较大时,想要查看哪里使用了强转,
用C语言的写法找不到,而这种写法可以用grep命令很容易查找到哪些地方强转了。
}
除了这种强制转化,还有以下几种,以后遇到再讲解:
const_cast //去常量属性
dynamic_cast //在父子类之间强转
reinterpret_cast //在任意类型之间进行转换