volatile
作用:用来修饰变量的,使变量不会被编译器优化,一般应用再多线程复杂环境中
对于共同使用的变量来说,数据是多变的,如果不加上volatile修饰变量,那么使用这个变量的时候是通过寄存器中获取的,从而导致数据不准确
什么叫不被编译器优化:直接在内存区备份之前的数据值,下次使用变量的时候直接从备份区获取数据
//例子:
int main()
{
int a = 10;//公共元素 --- 新闻(时效性)
int bf = a;//备份区
/*
多线程环境下 ---- 很多人在使用同一个东西,这个东西就是,并发(同时改)
多条线程在使用同一个变量
*/
return 0;
}
const
作用:被const修饰的变量会变成常量(常变量)
例子1:
const int a; //修饰a
int const a; //修饰a
int a const; //修饰空气
//由此可见,const是用来修饰其右面最近的整体
const在指针中用法
const int * a = &data;//修饰 * a ,*a不能赋值
int const * a = &data;//修饰 *a (解引用)
int * const a = &data;//修饰 a