const 和volatile

来源:互联网 发布:powermill编程视频教程 编辑:程序博客网 时间:2024/06/05 03:52

const:修饰的变量是只读的;

            修饰的变量会在内存占用空间;

            本质上const只是对编译器有用,在程序运行时无用;

            修饰的值可以通过指针来改变,故const不是真正意义上的常量;

            修饰的数组空间不可被改变。

volatile:可理解为“编译器告警指示字”;

               告诉编译器每次去内存中取变量的值;

               主要修饰可被多个线程访问的变量;

               也可修饰可能被未知因素更改的变量。

综上const volatile int i=0;是合法的,const定义了一个只读变量,即i不能为左值,但是当取用i时会到内存中读取,因为既然是const的,i认为是不变的。

原创粉丝点击