C++之修饰符类型

可以不写 int,只写单词 unsigned、short 或 unsigned、long,int 是隐含的。

**const:**const 类型的对象在程序执行期间不能被修改改变。
**volatile :**修饰符 volatile 告诉编译器不需要优化volatile声明的变量,让程序可以直接从内存中读取变量。对于一般的变量编译器会对变量进行优化,将内存中的变量值放在寄存器中以加快读写效率。

中断服务程序中修改的供其它程序检测的变量需要加volatile;

例如,使用全局变量后,在中断函数进行修改,在执行函数进行判断,则会出现执行函数的变量一直没有变化;

多任务环境下各任务间共享的标志应该加volatile

存储器映射的硬件寄存器通常也要加voliate,因为每次对它的读写都可能有不同意义。

C++中没有这个关键字,C语言中只有C99增加了
restrict :由 restrict 修饰的指针是唯一一种访问它所指向的对象的方式。只有 C99 增加了新的类型限定符 restrict。

int f (int *restrict x, int *restrict y)
{
    *x = 0;
    *y = 1;
    return x;
}

由于两个参数都加了restrict限定,所以两块区域不能重叠,这样才能保证函数运行的准确率。如不加该关键字,则有可能出现重叠,继而出现返回1的结果;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值