c++字面值常量

constexpr 变量是编译器验证的编译期就求得结果的一种变量~

一、constexpr 函数(constexpr function)指能用于常量表达式(编译期必须求出结果有一部分const 类型的值 和constexpr类型)的函数,constexpr函数必须满足如下介个要求:

       1.函数的返回类型和所有形参类型必须是字面值类型,且函数体必须只且有一条return 语句,例如:

                   

constexpr int new_sz() {return 42;}
constexpr int foo = new_sz();    

             编译器能在编译期验证new_sz()的值,所以可以用new_sz() 初始化constexpr类型变量foo.为了执行foo的初始化语句,编译器在编译期把constexpr函数的调用替换成其结果值,为了能在编译过程中随时展开,constexpr函数隐式地指定为内联函数.            2.允许constexpr函数返回一个不是常量的值。

constexpr size_t scale(size_t cnt){return new_sz() * cnt;} //new_sz()是一个零时量,不是constexpr

当scale函数的实参是常量表达式时,那么它的返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发狂的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值