C++类型转换
2008-03-17 10:37
239 查看
强制类型转换容易引发错误,所以被认为是一种丑陋的语法。C++中有一个观念:丑陋的语法就应该用丑陋的方式表达。所以,C++的转换操作符使用xxxx_cast<...>()这种一种繁琐的形式。目的是为了让你在使用类型转换前三思而行,看看是不是又不需要类型转换的方法或设计。
更重要的是,C风格的强制类型转换通常很难查找。而C++这四种转换操作符可以用最简单的search功能找到。所以更便于排错。
这就是说,只要你在C++中编程,尽量不要使用类型转换,即使要用,也应该使用xxxx_cast<..>()这种形式。
四种转换的大概解释如下:
dynamic_cast 用于多态类型间的转换。包括继承类间的转换和兄弟类间的转换。
static_cast 用于非多态类型的转换。既不具有继承关系的类型间的转换。
const_cast 用于移除const, volatile限定符.
reinterpret_cast 用于任意的位到位的转换.
更重要的是,C风格的强制类型转换通常很难查找。而C++这四种转换操作符可以用最简单的search功能找到。所以更便于排错。
这就是说,只要你在C++中编程,尽量不要使用类型转换,即使要用,也应该使用xxxx_cast<..>()这种形式。
四种转换的大概解释如下:
dynamic_cast 用于多态类型间的转换。包括继承类间的转换和兄弟类间的转换。
static_cast 用于非多态类型的转换。既不具有继承关系的类型间的转换。
const_cast 用于移除const, volatile限定符.
reinterpret_cast 用于任意的位到位的转换.
相关文章推荐
- C++ 用operator实现隐式类型转换
- c++类型转换
- c++中的类型转换
- C++中四种类型转换方式
- C++的4种类型转换关键字及其特点
- c++指针类型转换
- C++ int,char,string,CString类型转换 [转]
- C++中的4种类型转换方式
- C/C++数据类型的转换之终极无惑
- 程序基石系列之C++运行时类型转换(Runtime Cast)
- c++里如何用string将中文编码的数字,字母转换成char类型
- C++学习笔记之显示类型转换
- C++12.4.4 隐式类类型转换----explicit
- 细说C++类型转换操作符
- C++数据类型转换知识点
- C++类型转换总结
- C++ reinterpret_cast,const_cast等 显式类型转换总结(转载)
- C++中将string类型转换为int, float, double互转
- (转载)C++的四个类型转换运算符
- C++使用构造函数进行类型转换