c++奇技-关键字

1.inline

内联函数,在调用处直接将函数体替换,少一次函数调用。

2.constexpr  constexpr表达式是指值不会改变并且在编译过程就能得到计算结果的表达式

3 #define pi 3.14159f; 如果不加最后的则pi的类型将会是double,他参与计算的表达式也将默认变为double类型,在cuda中会严重影响性能,至少你可能是希望32位浮点下的计算,一不小心变双精度浮点了。

4 #program unroll 强制for循环展开,一般应用于判断语句比较简单,且执行次数编译期就可知的情况,比如下面。

int sum=0;
for(int i=0;i<100;i++)
{
    sum+=pow(3,i);
}

5__restrict

当对指针增加 __restrict 修饰之后,表示当前指针在存活期间是独占内存的,不会有其他指针指向这个地址。编译器在知道这个信息之后,就可以做出优化,从而提升性能。

用对象指针来调用一个函数,有以下两种情况:

  1. 如果是虚函数,会调用派生类中的版本。
  2. 如果是非虚函数,会调用指针所指类型的实现版本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值