C++ learning notes - Function

可变长度参数表的实现

可以用initializer_list

内联函数

声明时使用关键字 inline。编译时,编译器在调用处用函数体进行替换,节省了参数传递、控制转移等开销。
注意

  • 内联函数体内不能有循环语句和switch语句;
  • 内联函数的定义必须出现在内联函数第一次被调用;
  • 对内联函数不能进行异常接口声明
inline double calArea(double radius)
{
          return PI * radius * radius;
}

constexpr函数(c++11)

常量表达式函数,可以初始化常量。constexpr函数的返回值必须是常量表达式,他可以用来给常量表达式赋值。这个工作在编译的时候完成

int nonconst_var = 100;  //变量
const int const_var1 = 2; //常量表达式,可以在编译的时候被确定
const int const_var2 = nonconst_var; //虽然是const,但是在编译的时候不能确定,则不能喝constexpr一起使用
constexpr int constexpr_var1 = 3 + const_var1 * 4;

函数重载

C++允许功能相近的函数在相同的作用域内以相同函数名声明,从而形成重载。方便使用,便于记忆。

重载函数的形参必须不同:个数不同或类型不同。变量名不同,返回值不同都不能构成重载。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值