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
原文链接: https://www.cnblogs.com/taoXiang/p/12491605.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/336091
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!