static_cast (exdlvssion)static_cast 很像 C 语言中的旧式类型转换。它能进行基础类型之间的转换,也能将带有可被单参调用的构造函数或用户自定义类型转换操作符的类型转换,还能在存有继承关系的类之间进行转换(即可将基类转换为子类,也可将子类转换为基类),还能将 non-...
分类:
编程语言 时间:
2015-03-08 18:37:13
阅读次数:
153
1、静态转换 static_cast用于明确定义的变换 ,包括 编译器允许的非强制转换和不太安全但定义清楚的变换。ps:(非强制变换,窄化变换,隐式转换,类层次静态定位,void*强制转换)2、常量转换 const_cast用于从const或 volatile转换为非const或非volatile3...
分类:
编程语言 时间:
2015-03-01 22:16:30
阅读次数:
144
从今天開始,对C++经常使用技术做个总结。參考书籍:《C++Primer》、《C++对象模型》、《设计模式》、《Windows核心编程》、《STL解密》。1.static_cast等四个cast的详细意义C++类型转换:隐式转换和显式转换。显式转换:static_cast、dynamic_cast、...
分类:
编程语言 时间:
2015-02-26 19:53:27
阅读次数:
150
C++拾遗--name_cast 显式类型转换
前言
C++中提供了四种显式的类型转换方法:static_cast,const_cast,reinterpret_cast,dynamic_cast.下面分别看下它们的使用场景。
显式类型转换
1.staitc_cast
这是最常用的,一般都能使用,除了不能转换掉底层const属性。...
分类:
编程语言 时间:
2015-02-18 22:07:23
阅读次数:
407
C++ 转型操作符 【1】static_cast 和const_cast...
分类:
编程语言 时间:
2015-02-04 20:25:25
阅读次数:
164
loadingbar就是进度条,如果要实现进度条的滑动,我们必须要实现update函数例如:
void HelloWorld::update(float delta)
{
_count++;
if (_count > 100)
_count = 0;
LoadingBar * loadingBar = static_cast(getChildByTag(0));
loadingBa...
分类:
编程语言 时间:
2015-02-03 19:34:51
阅读次数:
232
旧式的C语言转型方式,是存在缺点的,主要在一下两个方面:
1.它几乎允许你将任何类型转换为任何其它类型。
2.转型是难以识别的。旧式转型的语法结构是由一对小括号加上一个对象名称组成,而小括号和对象名称在C++的任何地方都有可能被使用。
为了解决C旧式转型的特点,C++引入4个新的转型操作符(cast operators):static_cast, const_cast, dynamic_ca...
分类:
编程语言 时间:
2015-01-29 12:47:33
阅读次数:
167
C++的类型转换有四种 const_cast, reinterpret_cast, static_cast, dynamic cast
这边举一个dynamic cast的小例子
#include
using namespace std;
class BaseClass{
public :
int m_iNum;
virtual void foo() {...
分类:
编程语言 时间:
2015-01-19 19:09:47
阅读次数:
127
C++类型转换
const_cast,去const属性。
static_cast,静态类型转换。如int转换成char。
dynamic_cast,动态类型转换。如子类和父类之间的多态类型转换。
reinterpret_cast,仅仅重新解释类型,但没有进行二进制的转换。
const_cast:
const int& a = 9;
const_cast(a) = 10;
...
分类:
编程语言 时间:
2015-01-16 16:44:10
阅读次数:
170
static_cast可以用来类的上行转换,也可以用来下行转换,但这样可呢有安全问题用来void* 的转换整形之类的非指针转换dymanic_cast用于指针和引用的转换用于上行转换,下行转换回失败如果不是完整的原对象将会失败。const_cast用于转换const属性的对象。 或者移除。class...
分类:
编程语言 时间:
2014-12-29 22:45:01
阅读次数:
184