条款15用constexpr

本文详细解释了C++中编译期常量和运行时常量的区别,强调了constexpr的作用以及在C++11中的应用。讨论了如何确保变量在编译期间确定,以及在GCC中的注意事项,指出在C++11中用constexpr修饰函数时,如果传入运行时常量会引发错误。
摘要由CSDN通过智能技术生成

引入 

c++是一门需要编译的语言 编译器将高级语言转化为机器语言 
可以将某些时期放在编译器 就十分高效

c++从源文件到可执行文件的步骤详解_拿到c++源码怎么知道中间步骤的输出-CSDN博客

编译期常量 与 运行时常量

gcc支持动态的 就是说 可以放一个变量 windows不行!!!linux gcc可以 int arr【a】

编译期就知道的常量

好处

在函数模板中 就需要编译期常量 而运行时常量不行

  const int b = 3; ====》》》》编译期常量

    array<int, b> add;  =====OK

② constexpr 保证这个变量一定是编译时常量 如果是运行时就会报错 

修饰函数

C++11中的constexpr

红色的②上一句有问题的 定义有constexpr 但是传入运行的常量 退化为普通函数 所以报错

c++14 17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值