- 限定符
-
const
const 类型的对象在程序执行期间不能被修改改变。 -
volatile
修饰符 volatile告诉编译器不需要优化volatile声明的变量,让程序可以直接从内存中读取变量。对于一般的变量编译器会对变量进行优化,将内存中的变量值放在寄存器中以加快读写效率。 -
const
const 类型的对象在程序执行期间不能被修改改变。
- 存储类
extern
引用其他文件中定义的变量。mutable
使用 thread_local 说明符声明的变量仅可在它在其上创建的线程上访问。
- 引用
- 不存在空引用。引用必须连接到一块合法的内存。
- 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
- 引用必须在创建时被初始化。指针可以在任何时间被初始化。
先贴个代码康康
#include <iostream>
using namespace std;
int main ()
{
// 声明简单的变量
int i;
double d;
// 声明引用变量
int& r = i;
double& s = d;
i = 5;
cout << "Value of i : " << i << endl;
cout << "Value of i reference : " << r << endl;
d = 11.7;
cout << "Value of d : " << d << endl;
cout << "Value of d reference : " << s << endl;
return 0;
}
Value of i : 5
Value of i reference : 5
Value of d : 11.7
Value of d reference : 11.7
看着用法感觉有一点像define,但是不太确定,后续学习,看看有什么应用场景。