#include <iostream>using namespace std;
int main(int argc, char **argv)
{volatile int x1=11;x1=15;const int x2=86;cout<<x1<<endl;cout<<x2<<endl;return 0;
}

volatile表示不知道何时会改变,随时有可能有改变,并且随时可以改变。因此编译器对访问该变量的代码不能进行优化,提供对它的稳定访问。
const表示不会也不能改变。

1586
Hit any key to continue...
#include <iostream>using namespace std;
int main(int argc, char **argv)
{const int x2=86;x2=19;cout<<x2<<endl;return 0;
}

编译错误,因为x2是const不能改变。

/home/myhaspl/pro/learn/cpplearn1/cpplearn1/main.cpp: In function 'int main(int, char**)':
/home/myhaspl/pro/learn/cpplearn1/cpplearn1/main.cpp:8:7: error: assignment of read-only variable 'x2'8 |     x2=19;|     ~~^~~
18
Hit any key to continue...

const_cast可完成从const的转换,使const变量可更改,同时也可完成volatile的转换,转换成非volatile类型。

c++17(21)-volatile和const、const_cast相关推荐

  1. C语言 const、volatile、const volatile限定符理解

      在C语言经常会用到变量类型限定符const和volatile,但是const和 volatile也可以一起使用.下面就一次分析一下这三种情况的使用方法. 1.const   从字面意思理解,意思就 ...

  2. 【LeetCode每日一题】——面试题17.21.直方图的水量

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[解题思路] 七[时间频度] 八[代码实现] 九[提交结果] 一[题目类别] 双指针 二[题目难度] 困难 ...

  3. volatile、const的用法

    1. volatile 访问寄存器要比访问内存要块,因此CPU会优先访问该数据在寄存器中的存储结果,但是内存中的数据可能已经发生了改变,而寄存器中还保留着原来的结果.为了避免这种情况的发生将该变量声明 ...

  4. 详解static、volatile、const

    1.背景 在查阅相关资料的时候,无意间看到一个大佬对于static关键字的讲解,如雷贯耳,写得非常容易理解,这是大佬的链接 本人在学习相关知识的时候,喜欢也习惯把从各种书籍或者是各位大佬的博客中学到的 ...

  5. volatile,static,const,extern等关键字

    volatile作用 Volatile关键词的第一个特性:易变性.所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存 ...

  6. hibernate 封装 2008-11-12 17:21 (分类:默认分类)

    字号: 大 大   中 中   小 小 hibernate封装 有幸和一个技术比较厉害的同事做项目,本来快要失败的项目被死死的整活了,以下是他对hibernate的封装,可以放在线程里使用的哦(以前不 ...

  7. leetcode 面试题 17.21. 直方图的水量(单调栈)

    给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下, ...

  8. 面试题 17.21. 直方图的水量/42. 接雨水

    2020-05-16 1.题目描述 直方图的水量 2.题解 对于某一个柱体而言,它上面的水量等于它左右两边柱体最大值最小值的大小减去当前柱体的高度. 3.代码 class Solution { pub ...

  9. 数据库视频第17~21章的学习框架和笔记

    一.图 二.笔记

最新文章

  1. 解决文字与下划线重叠的问题
  2. 抖音云控_抖音云控/快手云控:引领5G电商短视频新潮流
  3. 信息学奥赛一本通C++语言——1044:判断是否为两位数
  4. partial is not defined的解决办法
  5. python--装饰器初阶
  6. xshell安装步骤
  7. 【ms access】SQL 引用外部表
  8. 单张滑动tab 组件
  9. 数字图像处理理论课件(清华大学计算机科学与技术)
  10. Git,一些基础命令说明
  11. 第16期高级转录组分析和R数据可视化培训(2022年1月)
  12. 变压器状态的监测与诊断
  13. Mac 终端 oh-my-zsh 配置,内含解决oh-my-zsh 下载不下来的方法
  14. 怎样使表格中的数字自动计算机,#怎样让一个表格自动加或乘#如何使excel表格里多个数同时除以1000?...
  15. PHPBB网站如何搬迁新服务器,phpbb 安装教程
  16. 什么是MES系统?MES系统具备哪些优势?
  17. 生成webservice客户端以及解决SSL异常
  18. 读《沃伦巴菲特》有感----成功是不可以复制的。
  19. arduino计时器程序
  20. 【黑金ZYNQ7000系列原创视频教程】01.熟悉vivado——纯逻辑led实验

热门文章

  1. C# 自定义控件入门
  2. 去重和分类后缀asp、php等路径 用python3写的
  3. eclipse上配置Maven
  4. 实现水电气一卡通 IC卡扇区分配
  5. Fiddler使用方法简介
  6. EDP项目结构规范心得
  7. 记录些实用的linux指令串
  8. windows下架构svn服务器
  9. 诺基亚力邀App开发员加入Ovi以对抗苹果
  10. nginx 中location中root和alias的区别