C++关键字
1. restrict
表明两个指针不是指向同一个数据,便于编译器优化
int fun(int *a,int *b) { *a = 5; *b = 6; return *a+*b; }
如果a和b指向同一个地方,则返回12
int fun(int *restrict a,int *restrict b) { *a = 5; *b = 6; return *a+*b; }
a和b不会指向同一块数据
2. volatile
表明变量能被其他程序修改,对这个变量取值时直接从内存加载而不是优化后从寄存器里获取
3. explicit、implicit
explict用来修饰只有一个参数类构造函数,表明该构造函数是显式的,用以关闭构造函数的 自动转换 特性
implict表明该构造函数是隐式的; 默认情况就是implicit