在C/C++语言中用 (type) value(还可以采用type(value))来进行显式类型转换,常常又被称为强制转换。这种转换的正确性完全掌握在程序员手中,传统上强制转换往往被过度使用,成为C++程序犯错的一个主要根源。 为了减少强制转换的副作用,并且在查错时使程序员能够快速定位(总是最值得怀疑的)强制转换,在标准C++中新增加了4个关键字*_cast,用来提倡一种全新的C++显式...
分类:
编程语言 时间:
2014-11-06 20:04:39
阅读次数:
213
一篇来自cplusplus.com的文章,这是我所看过的关于C++类型转换的最全面、最细致、最深入的一篇文章,本文为其中文译文。本文介绍了C++的各种类型转换,具体包括:基本类型的隐式类型转换,C风格的类型转换,类的隐式转换(implicit conversion),explicit关键字,static_cast, reintperet_cast, const_cast, dynamic_cast。 以及和RTTI相关的typeid关键字。...
分类:
编程语言 时间:
2014-11-01 16:18:22
阅读次数:
189
1.c风格强制转换int a=1;char b=(char)a;这种转换适用于面向过程的没有类的概念的c语言的转换,然而这样的转换符也能不分青红皂白的应用于类和类的指针,没有安全检查。2.const_cast 用法:const_cast (expression) 用于修改类型的const或vol.....
分类:
编程语言 时间:
2014-10-27 21:10:02
阅读次数:
273
const_cast 去掉类型的const或volatile属性。 struct SA { int i; }; const SA ra; //ra.i = 10; //直接修改const类型,编译错误 SA &rb = const_castSA&>(ra); rb.i = 10;...
分类:
编程语言 时间:
2014-10-24 01:40:40
阅读次数:
164
不过为了完成强制类型转换,C++中已经为我们提供了4中标准方法,它们是dynamic_cats, static_cast, const_cast, reinterpret_cast,用法形式为:dynamic_cast(表达式),之所以分成4类,就表示他们各自有着不同的使用环境,下面转载的文章会有....
分类:
编程语言 时间:
2014-10-20 00:29:13
阅读次数:
256
【C++专题】static_cast, dynamic_cast, const_cast探讨 ?首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 第1部分.?隐式类型转换 又称为“标准转换”,包括以下几种情况: 1) 算术转换...
分类:
其他好文 时间:
2014-10-13 20:48:07
阅读次数:
229
29.避免返回内部数据的句柄。
即使声明一个类的对象为const,不能进行修改,在获得其数据的句柄也就是地址的情况下,还是可以强行修改的。
class A{
public:
int n;
A(int x):n(x){}
operator int*() const;
};
inline A::operator int*()const{
return const_cast(&n);
}...
分类:
编程语言 时间:
2014-10-09 15:34:28
阅读次数:
208
转自:http://blog.csdn.net/lwbeyond/article/details/6213382一. 函数描述:const_cast ( expression )主要是用来去掉const属性,当然也可以加上const属性。主要是用前者,后者很少用。去掉const属性:const_c....
分类:
编程语言 时间:
2014-09-18 18:34:04
阅读次数:
222
1.datastring str="hellow world";char *p =const_cast(str.data());2. c_strstring str="hello world";char *p=const_cast(str.c_str());3. str.copy()string s...
分类:
编程语言 时间:
2014-09-18 14:45:34
阅读次数:
169
内联函数内联函数与带参数宏区别新的类型转换运算符const_cast(expr)static_cast(expr)reinterpret_cast(expr) dynamic_cast(expr)当程序执行函数调用时,系统要建立栈空间,保护现场,传递参数以及控制程序执行的转移等等,这些工作需要系统时...
分类:
编程语言 时间:
2014-09-17 16:44:52
阅读次数:
258