C++ context,static,mutable,voliate关键字
1. context +:常量,值不可修改;
普通函数参数 -- 防止参数被修改
普通函数返回值 -- 返回值不能作为左值使用,既不能赋值也不能被修改;
类的成员函数 后边 --此函数不能修改该对象的(除被mutable修饰)所有成员变量;
2. static +:局部变量 -- 不受作用域限制,存在整个程序运行时,结束才被释放,但只能被包含的函数调用;
全局变量 -- 是能该文件访问,防止多文件时名称冲突;
普通函数--内存中只会有一份,每次调用的都是同一片内存;
成员函数 -- 属于整个类,不属于某个对象,只能调用static 成员变量,static 成员变量同理;
不存在 context static 成员函数;因为context单位是对象,static单位是类;
3. voliate :背景:多核cpu时的cache刷新到主存不同步带来的问题;
+使用它,则保证每次都从主存中读取,防止编译器对它进行优化,从cache中读;