美文网首页C++2.0
C++11精进:从运行期转到编译期

C++11精进:从运行期转到编译期

作者: Brent姜 | 来源:发表于2017-04-28 22:06 被阅读25次

    概述

    C++11提供了新的机制,可以让程序员将代码从运行期执行转到编译期执行,为程序提供优化途径。

    constexpr

    大多数人可能听说过constexpr,这个新的关键字指示编译期在编译期间执行代码并获得常量值,这样变量或函数可以用在常量表达式中。

    constexpr可以用于修饰对象,也可以修饰函数,包括两种:

    • constexpr Objects:一个constexpr对象是常量,而且它的值在编译期间可知。
    • constexpr Functions:意思差不多是如果你使用constexpr变量在constexpr上下文中使用,它会给你返回一个constexpr对象。但实际使用起来会有一些微妙的地方,

    两者相当不同。

    constexpr Objects


    参考资料

    [1] 《Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14(英语)》,Scott Meyers在2015年的大作。

    相关文章

      网友评论

        本文标题:C++11精进:从运行期转到编译期

        本文链接:https://www.haomeiwen.com/subject/rbctzttx.html