博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 各类型转换及关键字
阅读量:4362 次
发布时间:2019-06-07

本文共 811 字,大约阅读时间需要 2 分钟。

  volatile关键字

  表示该变量易变,每次在访问该关键字修饰的变量时都要读内存,不对其进行优化。

  mutable关键字

  类的常成员函数在语义上是不允许修改类的成员变量的,但是有时候可能根据代码的需要并不是这么绝对。那么就可以使用mutable声明一个类的成员变量,它告诉编译器类的常成员函数可以修改这个变量。

  explicit关键字

  修饰构造函数,通常用作 构造函数静止隐式转换。

  四种类型转换

  1. const_cast

  去掉类型的const或volatile属性。

const int a=10;int &b=const_case
(a);

 

  2. static_cast

  静态类型转换,用于类型间强制转换。用于:

  (1)基类和子类转换,子类指针转父类是安全的,父类转子类不安全。

  (2)基本数据类型转换。

  (3)空指针转换成目标类型指针。

  (4)转换为void类型

int n=1;double  d=static_cast
(n);int *pn=&n;double *d=static_cast
(&n);void *p = static_case
(pn);

  

  3.dynamic_cast

  动态类型转换,运行时类型安全检查(转换失败返回NULL)

  1.安全基类和子类转换,基类转子类会失败。

  2.必须有虚函数。

  3.相同基类不同子类间转换,结果为NULL。

 

   4.reinterpret_cast

  重新解释类型,没有进行二进制转换。

  一般用在函数指针类型之间转换。

转载于:https://www.cnblogs.com/wshr007/p/11505658.html

你可能感兴趣的文章
Go语言写Web 应用程序
查看>>
用pyhton爬虫技术爬取所有股票的每周价格(附源码)
查看>>
SQLite学习笔记(十二)&&虚拟机指令
查看>>
数据库插入或者更新大批量数据的性能优化
查看>>
Laravel debug bar 调试利器
查看>>
bzoj4260 Codechef REBXOR
查看>>
性能调优基础
查看>>
java并发AtomicReference
查看>>
TableLayout(表格布局)
查看>>
python中的类方法、静态方法、对象方法
查看>>
DIV+CSS:Margin和Padding属性[转载]
查看>>
693. Binary Number with Alternating Bits
查看>>
TCP/IP协议1
查看>>
Kubenertes资源分配之Request和Limit解析
查看>>
java extends和implements区别
查看>>
转-网站发布“试图加载不同的格式”解决
查看>>
bzoj [SDOI2014]数表 莫比乌斯反演 BIT
查看>>
PAT1099
查看>>
64位操作系统下启用32位模式
查看>>
当你没有能力去改变别人命运的时候 就不要随意去伸出援手......
查看>>