C++ 02 4个新的类型转换函数
2013-12-31 21:57
309 查看
1.const_cast
1 用来移除对象的常量性 const_cast一般多用于指针或引用
2 使用它去除const限定的目的不是为了修改它们的内容
通常是为了函数能过接收这个实际参数
2.static_cast
1 编译器执行的任何隐身转换都可以通过static_cats来转换
2 当一个较大的算术类型赋值给较小的类型时用static_cast强制转换
int n = static_cast<int>(3.14); //n=3;
3 将void*指针转成某一类型的指针
void *p3 = &n;
int *p2 = static_cast<int*>(p3);
3.reinterpret_cast
1 通常为操作数的位模式提供比较低层的重新解释 也就是说将数据以二进制存在形式的重新解释
2 尽可能避免强制转换 尽量使用新的转换方法
4.dynamic_cats<T>(expr)
执行安全向下转型操作 也就是说支持运行时识别指针或所指向的对象,这是唯一无法用旧式语来进行的转型操作
1 用来移除对象的常量性 const_cast一般多用于指针或引用
2 使用它去除const限定的目的不是为了修改它们的内容
通常是为了函数能过接收这个实际参数
void funct(int &val) { cout<<"func is "<<val<<endl; } const int val = 100; funct(const_cast<int&>(val));
2.static_cast
1 编译器执行的任何隐身转换都可以通过static_cats来转换
2 当一个较大的算术类型赋值给较小的类型时用static_cast强制转换
int n = static_cast<int>(3.14); //n=3;
3 将void*指针转成某一类型的指针
void *p3 = &n;
int *p2 = static_cast<int*>(p3);
3.reinterpret_cast
1 通常为操作数的位模式提供比较低层的重新解释 也就是说将数据以二进制存在形式的重新解释
2 尽可能避免强制转换 尽量使用新的转换方法
4.dynamic_cats<T>(expr)
执行安全向下转型操作 也就是说支持运行时识别指针或所指向的对象,这是唯一无法用旧式语来进行的转型操作
相关文章推荐
- C02-程序设计基础提高班(C++)第8周上机任务-结构体
- C和C++的区别 02.函数检测
- 20170218C++项目班02_01Node实现
- 【C++基础 02】深拷贝和浅拷贝
- C++基础-02
- 转:JNI jstring与c++字符串类型转换函数
- 蓝桥杯 PASCAL三角 算法提高 c++_ch03_02
- 20161220C++阶段班02_C to C++_01bool/头文件/域作用符/new/delete/重载
- 20161224C++阶段班02_C to C++_03引用/指针/引用传参和返回值
- c++面向对象类02
- 在C++中,有哪4个与类型转换相关的关键字?这些关键字有什么特点?应该在什么场合使用?
- 我的C++学习之路--02.构造函数和析构函数
- C++作业02
- 【笔记】C++自学笔记系列02:类的组合与类的友元
- 转载: C++ 转换构造函数 和 类型转换函数
- C++ 重载和类型转换函数
- 漫谈 C++ 智能指针 02
- 【C++】cstddef中4个定义
- C/C++常见笔试面试题-02(网络篇)
- C02-程序设计基础提高班(C++)第8周上机任务-结构体