C/C++整理
发布日期:2022-02-17 02:39:50 浏览次数:19 分类:技术文章

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

C/C++整理

const和volatile

  1. const

const关键字修饰变量,表示该变量为常量,不能修改常量的值。

如果const修饰*,表示该指针变量指向的是常量,不能通过该指针变量修改指向的内容,但该指针变量的值可以修改。
注:const修饰指针变量时,如果const位于的左侧,则const就是来修饰指针变量指向的内容,即指针变量指向的内容为常量;
如果const位于
右侧,则const修饰的是指针变量,即指针变量的值是常量。
补:const int n=10;
int a[n];//在C中,编译时不知道n的值,将其看成0,所以会编译出错;在C++中,编译时知道n的值,编译不会出错。

2.volatile

volatile关键字:易变的。即告诉编译器volatile变量是随时可能发生变化的,与volatile变量有关的运算不要进行编译优化,以免出错。

int square(volatile int ptr)
{
return ptr * ptr;
}
返回值可能不是所期望的平方值。因为告诉编译器
ptr是随时可能发生变化的,每次使用它的时候必须从它的地址中读取,如果没有volatile关键字,编译器的优化做法是由于两次从ptr读取
ptr时没有对
ptr进行操作,编译器会会把第一次读取的数据放在第二个ptr中,而不是重新读取。所以ptr可能被意外地修改,因此这两个值可能是不同的,返回值可能不是所期望的平方值。
总之:(1)volatile关键字告诉编译器不能做任何优化;(2)由于用volatile定义的变量会在程序外被改变,每次都必须从内存中读取,所以不能放在cache或寄存器中重复使用。

转载地址:https://blog.csdn.net/qq_39814715/article/details/108877648 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:vue 官方文档 - 处理边界情况
下一篇:抽象工厂实例理解

发表评论

最新留言

不错!
[***.144.177.141]2023年05月24日 08时27分50秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

python在mac模拟鼠标点击_macos – 如何通过mac终端模拟鼠标点击? 2019-12-02 03:25:35
manjaro设置字体_Manjaro安装,配置,美化指南 2019-12-02 03:25:36
dtsi与dts_如何看系统到底用了哪个dtsi 2019-12-02 03:25:36
spssχ2检验_spss交叉表分析方法与步骤 + SPSS卡方检验结果的阅读 2019-12-02 03:25:36
element 搜索匹配_Vue Element 分组+多选+可搜索Select选择器实现示例 2019-12-02 03:25:36
进程线程python_Python 进程 线程总结 2019-12-02 03:25:36
将gridcontrol的值传到textedit中_船舶自动化中的开关量、模拟量、数字量是什么?... 2019-12-02 03:25:33
接口隔离原则_趣谈设计模式之接口隔离原则 2019-12-02 03:25:34
table.reload 只刷新table_EXCEL也能实时刷新股票信息~太神奇了 2019-12-02 03:25:34
判断是否是完全二叉树_二叉树高频面试题和答案 2019-12-02 03:25:34
servlet访问中文文件访问不到_电脑小技巧远程访问共享文件夹 2019-12-02 03:25:34
sql 插入新数据 如何处理>等字符_条码打印软件之如何在条码数据插入字符而不被扫描... 2019-12-02 03:25:35
pythonscrollbar布局_python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例... 2019-12-02 03:25:35
电影推荐系统 python简书_推荐系统实战 2019-12-02 03:25:35
phpmyadmin漏洞_CVE201912922 phpMyAdmin 4.9.0.1跨站请求伪造漏洞复现 2019-12-02 03:25:31
python 下划线_我终于把Python中下划线的含义弄清楚了(憋了很久了) 2019-12-02 03:25:32
串口数据解析_物联网基础:EC20 连接阿里云进行数据收发 2019-12-02 03:25:32
反arp攻击软件_甜橙安全头条第23期技术干货之透析中间人攻击 2019-12-02 03:25:32
storm 机器上日志查询_达达基于Kubernetes混部的日志系统演变 2019-12-02 03:25:33
高精度事件计时器怎么关闭_Node.js 事件循环的工作流程 & 生命周期 2019-12-02 03:25:33