static_cast
const_cast
reinterpret_cast
运行时类型识别(RTTI)
dynamic_cast
哪种情况下dynamic_cast和static_cast使用的情况一样?
什么情况下使用dynamic_cast代替虚函数?
typeid
分类:
编程语言 时间:
2014-11-19 17:43:44
阅读次数:
268
#include#defineoffsetof(TYPE,m) (size_t)&reinterpret_cast((((TYPE*)0)->m))宏功能:获得一个结构体变量成员在此结构体中的偏移量。通过获取偏移量取得结构体的地址/* Takes a pointer to a member vari...
分类:
其他好文 时间:
2014-11-16 12:00:36
阅读次数:
212
dynamic_cast: 通常在基类和派生类之间转换时使用,run-time castconst_cast: 主要针对const和volatile的转换.static_cast: 一般的转换,no run-time check.通常,如果你不知道该用哪个,就用这个。reinterpret_cast...
分类:
编程语言 时间:
2014-10-29 18:42:53
阅读次数:
200
不过为了完成强制类型转换,C++中已经为我们提供了4中标准方法,它们是dynamic_cats, static_cast, const_cast, reinterpret_cast,用法形式为:dynamic_cast(表达式),之所以分成4类,就表示他们各自有着不同的使用环境,下面转载的文章会有....
分类:
编程语言 时间:
2014-10-20 00:29:13
阅读次数:
256
reinterpret_cast 这个转换方式在转换指针类型时比较有用 1 #include 2 3 using namespace std; 4 5 int main(void) 6 { 7 int A = 65; // 'A' 8 char * pA = reinterpr...
分类:
其他好文 时间:
2014-10-09 21:26:57
阅读次数:
116
1.强制类型转换:
一般使用的是c风格的类型转换,进行简单数据类型间的转换,而对于类之间的转换,使用4个转换符。
reinterpret_cast (expression): 只用于指针和引用, 将一个指针类型强制转换为另一个指针类型,不做任何操作,仅返回转换类型后的指针,与c的强制类型转换效果相同。用于底层的强制类型转换,可将指针转换为整形。只是对底层的二进制数据换一种读法。
stati...
分类:
编程语言 时间:
2014-10-05 23:51:29
阅读次数:
349
其实不仅仅是一个转载,还是一个融合今天的一个考题为:#include using namespace std;class BClass{public: BClass(){}; virtual ~BClass(){}; virtual void OutPut(int i){coutOutPut(1);...
分类:
其他好文 时间:
2014-09-25 22:48:47
阅读次数:
188
内联函数内联函数与带参数宏区别新的类型转换运算符const_cast(expr)static_cast(expr)reinterpret_cast(expr) dynamic_cast(expr)当程序执行函数调用时,系统要建立栈空间,保护现场,传递参数以及控制程序执行的转移等等,这些工作需要系统时...
分类:
编程语言 时间:
2014-09-17 16:44:52
阅读次数:
258
很简单的东西,嘿嘿voidCTestDlg::OnPaint(){if(IsIconic()){CPaintDCdc(this);//用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND,reinterpret_cast(dc.GetSafeHdc()),0);//使图标在...
分类:
其他好文 时间:
2014-09-15 10:00:08
阅读次数:
285
C++类型转换
const_cast,字面上理解就是去const属性。
static_cast,命名上理解是静态类型转换。如int转换成char。
dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。
reinterpret_cast,仅仅重新解释类型,但...
分类:
编程语言 时间:
2014-08-26 19:16:26
阅读次数:
245