设为首页 加入收藏

TOP

C++Primer显示类型转换实例讲解
2018-06-09 10:07:48 】 浏览:184
Tags:Primer 显示 类型 转换 实例 讲解

一个命名的强制类型转换形式:cast_name (expression);(type是转换类型,如果是引用类型,返回左值,即地址对象)

cast_name:

1.static_cast

不包含底层const(底层const:指针指向的对象是常量)的任何具有明确定义的类型转换。用处:

1.将较大的算术类型转换给较小的类型时

double slope = static_cast
  
   (j) / i;
  

2.找回存放在void *指针中的值。例:

void *p = &d;
double *dp = static_cast
  
   (p);
  

2.dynamic_cast

3.const_cast

只能改变const属性,只能改变运算对象的底层const。只有const_cast可以改变表达式的常量属性,可对非常量的对象进行获取写权限,常用于有函数重载的上下文中。

const char *cp;
char *p = static_cast
  
   (cp);	//错误:static_cast不能转换掉const性质
static_cast
   
    (cp); //正确:字符串字面值转换成string类型 const_cast
    
     (cp); //错误:const_cast只改变常量属性
    
   
  

4.reinterpret_cast

为运算对象的位模式提供较低层次上的重新解释。本质上依赖机器,安全使用需对涉及的类型和编译器实现转换过程都非常了解。

int *ip;
char *cp = reinterpret_cast
  
   (ip);//等价char *cp = (char *)ip;

  
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++:公有/私有/保护继承等举例说.. 下一篇C++中关于map用法的知识详解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目