感觉在面试中,总是被问及转换类型问题,所以在大面试来临之前,复习一下,其实之前也没有怎么区分,因为实际中,特别是编一个小程序,我不是经常在用。
以下是C++的四种转换机制:
view plaincopy to clipboardprint?
const_cast<T> ( expression )
dynamic_cast<T> ( expression )
reinterpret_cast<T> ( expression )
static_cast<T> ( expression )
const_cast通常被用来将对象的常量性质转除。它也是唯一有此功能的C++-Style转型操作符。其意思是将一个const转化为non-const。
dynamic_cast主要用来执行”安全向下转型“,也就是用来决定某对象是否归属继承体系中的某个类型。它也是唯一无法由旧式语法执行的动作,也是唯一可能耗费重大运行成本的转型动作。
reinterpret_cast意图执行低级转型,实际动作可能取决编译器,这也就是表明它不可移植。
static_cast用来强迫隐式转换,例如将non-const对象专为const对象,或将int转换成double等等,它也可以用来执行上述多种类型的反向转换,例如将void*指针专为typed指针,将pointer-to-base转为pointer-to-derived。但无法将const转为non-const这个只有const_cast才能做到。
注:文本来自《Effective C++》
-----------------打造高质量的文章 更多关注 把酒泯恩仇---------------
为了打造高质量的文章,请 推荐 一下吧。。。。谢谢了,请关注我后续的文章,会更精彩哦
请关注sina微博:
http://weibo.com/baiyang26
把酒泯恩仇官方博客:
http://www.ibaiyang.org 【推荐用google reader订阅】
把酒泯恩仇官方豆瓣:
http://www.douban.com/people/baiyang26/
如果您想转载本博客,请注明出处
如果您对本文有意见或者建议,欢迎留言
分享到:
相关推荐
C++四种类型转换,PDF格式,很详细。
C++ 四种强制类型转换的总结
c++四种强制类型转换 学习C++的可以好好的看看
MFC编写的四参数、七参数坐标转换代码,有界面,可直接运行
C++全角半角字符转换
C++ Builder string相互转换
C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。
C++4种强制类型转换 C++4种强制类型转换 C++4种强制类型转换 C++4种强制类型转换
基于c++ GPS时间转换
C++实现的数制转换代码
各种 C++ 字符串类型转换(char *、wchar_t*、_bstr_t、CComBSTR、CString、basic_string 和 System.String) 本主题演示如何将各种 C++ 字符串类型转换为其他字符串。可以转换的字符串类型包括 char *、wchar_t*、_...
C++ 多种数据类型转换,包括C++语言的常用数据类型之间的转换
免费好用的C++语言转C#语言工具,使用方便 免费好用的C++语言转C#语言工具,使用方便
提供一个大小端转换的类,可以转换short int float double类型,提供一个大小端转换的类,可以转换short int float double类型,提供一个大小端转换的类,可以转换short int float double类型
C++和C#的类型转换,全面地列出了C++和C#中对应的类型,因为在调用dll中经常地在两种语言之间转换数据类型。
c++ 转换 java (试用版) c++ 转换 c# (正式版)
C++下的文件转换吧 WAV文件 进行转换为PCM 文件的
这篇笔记是根据StackOverflow上面的一个问题整理而成,主要内容是对C/C++当中四种类型转换操作进行举例说明。在之前其实对它们都是有所了解的,而随着自己在进行总结,并敲了一些测试示例代码进行验证之后,对它们的...
c++格式转换函数 c++格式转换函数 c++格式转换函数
主要介绍了C++11 Unicode编码转换的相关资料,帮助大家更好的理解和学习c++11,感兴趣的朋友可以了解下