C++的四种强制转换
2015-06-30 15:43
330 查看
分别是:
static_cast ; dynamic_cast
; reinterpret_cast
; const_cast。
static_cast
: 一般我都是用C语法的强制转换。
dynamic_cast
:一般不用
reinterpret_cast
:我比较常用。
将数据以二进制存在形式的重新解释;
它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,
在把该整数转换成原类型的指针,还可以得到原先的指针值)。
比如:
CTest*
p;
WPARAM
wparam = reinterpret_cast<WPARAM>(p);
::SendMessage(, , wparam, 0);
CTest*
p2= reinterpret_cast<CTest*>(wparam);//重新得到p
const_cast:一般不用
static_cast ; dynamic_cast
; reinterpret_cast
; const_cast。
static_cast
: 一般我都是用C语法的强制转换。
dynamic_cast
:一般不用
reinterpret_cast
:我比较常用。
将数据以二进制存在形式的重新解释;
它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,
在把该整数转换成原类型的指针,还可以得到原先的指针值)。
比如:
CTest*
p;
WPARAM
wparam = reinterpret_cast<WPARAM>(p);
::SendMessage(, , wparam, 0);
CTest*
p2= reinterpret_cast<CTest*>(wparam);//重新得到p
const_cast:一般不用
相关文章推荐
- C++学习随记-基础知识篇一
- C++数据类型
- 黑马程序员-OC语言-关于OC中的static关键字使用(听课笔记)
- 黑马程序员-OC语言-方法重载问题(听课笔记)
- C++中namespace的使用
- 如何创建C++程序
- C++程序的编写和实现
- 黑马程序员-OC语言-依赖关系(听课笔记)
- C++程序的构成和书写形式
- 第一个C++程序
- 从C到C++,C语言与C++的关系
- C语言实现在windows服务中新建进程的方法
- C++ typeid操作符
- c++线程池实现方法
- JNI--java和C++互相调用
- C++ map的基本操作和用法
- Effective C++ 条款28
- C++ typeid操作符
- C语言单项链表的实现
- vs2010 c++ release dump 文件生成