static_cast 使用】的更多相关文章

c++ 数据类型转换: static_cast dynamic_cast reinterpret_cast const_cast  [版权声明]转载请注明出处 http://www.cnblogs.com/TenosDoIt/p/3175217.html [目录] 引言 static_cast 定义 dynamic_cast 定义 举例:下行转换(把基类的指针或引用转换成子类表示) 举例:上行转换(把子类的指针或引用转换成基类表示) 举例: static_cast 用于基本类型之间.基本类型指针…
首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换 又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型. int ival = 3;double dval = 3.14159; ival + dval;//ival被提升为double类型 2)一种类型表达式赋值给另一种类型的对象:目标类型是被赋值对象的类型 int *pi = 0; …
static_cast是一个强制类型转换操作符.强制类型转换,也称为显式转换,C++中强制类型转换操作符有static_cast.dynamic_cast.const_cast.reinterpert_cast四个.本节介绍static_cast操作符. 编译器隐式执行的任何类型转换都可以由static_cast来完成,比如int与float.double与char.enum与int之间的转换等. double a = 1.999; int b = static_cast<double>(a)…
static_cast 1. 基础类型之间互转.如:float转成int.int转成unsigned int等 2. 指针与void*之间互转.如:float*转成void*.CBase*转成void*.函数指针转成void*.void*转成CBase*等 3. 派生类指针[引用]转成基类指针[引用].如:Derive*转成Base*.Derive&转成Base&等 4. 非virtual继承时,可将基类指针[引用]转成派生类指针[引用](多继承时,会做偏移处理).如:Base*转成Der…
http://www.cnblogs.com/pigerhan/archive/2013/02/26/2933590.html #include "Person.h" #include <string> #include <iostream> Person::Person() { } void Person::sayHello() { std::cout << "hello world"; } int main(void) { H…
c++强制类型转换:dynamic_cast.const_cast .static_cast.reinterpret_cast 博客分类: C/C++ CC++C#编程数据结构  dynamic_cast:   通常在基类和派生类之间转换时使用const_cast:   主要针对const和volatile的转换static_cast:   一般的转换(no run-time check)通常,如果你不知道该用哪个,就用这个.   reinterpret_cast:   用于进行没有任何关联之间…
[本文链接] http://www.cnblogs.com/hellogiser/p/static_cast-dynamic_cast-const_cast-reinterpret_cast.html [分析] 旧式风格 vs C++风格  C++ Code  1234567   (new_type) expression   // c-style new_type (expression)  // function-style dynamic_cast <new_type> (express…
http://www.cnblogs.com/chio/archive/2007/07/18/822389.html 首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换 又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型. int ival = 3;double dval = 3.14159; ival + dval;//ival被提…
/////////////////////////////////////////////////////////////////////////////// // // FileName : cast_item27.cpp // Version : 0.10 // Author : Ryan Han // Date : 2013/10/31 15:43:55 // Comment : // ////////////////////////////////////////////////////…
Static_cast可以对对象也可以对指针也可以对引用,但是const_cast只可以对指针和引用使用,后者不可以对对象用,如果你要把一个const值转化为非const值只能用隐式执行或通过使用static_cast.C 样式转换或函数样式转换执行. 比如: const int aa = 10; //int bb = const_cast<int>(aa);错误 int bb = int(aa);//传统的c转化方式 int bb = static_cast<int>(aa);/…