关键字的作用——const和volatile

来源:互联网 发布:舒乐安定 淘宝 编辑:程序博客网 时间:2024/06/08 10:13

const的作用:

修饰的变量,(const离谁近谁不能自增)。

即是不能用该变量名修改这个变量所表示的内存空间的值。(把一个变量变成一个只读变量)。

例:const int num = 5;

num++;  这个语句不对,无法实现num+1=6。

int *p;

p=#

(*p)++;   这样可以改变num的值。最终num=6;

修饰函数:

例:const char *func(const char *str)const;

第一个const修饰的是返回值,则说明const修饰的char,也就是返回值的内容不能被修改。

第二个const修饰的是参数,表示这个参数在函数体中是不能被修改的。

第三个const修饰的是整个函数。这种情况一般出现在类成员函数里,并不是这个函数是不变的,而是这个函数不能改变类的成员变量。不论是public的还是private的。


volatile的作用:

volatile修饰的变量,会强烈要求编译器每次对该变量进行访问时都要重新去内存里读取,而且读取的数据立即被保存。


volatile一般使用的地方:

(1):中断服务程序中修改的供其他程序检测的变量需要加volatile;

(2):多任务环境下各任务间共享的标志应该加volatile;

(3):存储器映射的硬件寄存器通常也要加volatile;

0 0
原创粉丝点击