zoukankan      html  css  js  c++  java
  • constexpr变量

    C++11新标准规定,允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式。声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化:
    Constexpr int mf=20;           //20是常量表达式
    Constexpr int limit=mf+1;       //mf+1是常量表达式
    Constexpr int sz=size();         //只有当size是一个constexpr函数时才是一条正确的声明
    //语句
    尽管指针和引用都能定义成constexpr,但它们的初始值却受到严格限制,一个constexpr指针的初始值必须是nullptr或者0,或者是存储于某个固定地址中的对象。
    在constexpr 声明中如果定义了一个指针,限定符constexpr仅对指针有效,与指针所指的对象无关:
    Const int *p=nullptr;           //p是一个指向整型常量的指针
    Constexpr int *q=nullptr;        //q是一个指向整数的常量指针
    P和q的类型相差甚远,p是一个指向常量的指针,而q是一个常量指针,其中的关键在于constexpr把它所定义的对象置为了顶层const;
    

  • 相关阅读:
    软件设计文档
    java基础路线与详细知识点
    hdu 2203 亲和串 kmp
    UVALive 6915 J
    UVALive 6911 F
    UVALive 6906 A
    hdu 3746 Cyclic Nacklace KMP
    hdu 1686 Oulipo kmp算法
    hdu1711 Number Sequence kmp应用
    hdu4749 kmp应用
  • 原文地址:https://www.cnblogs.com/zztong/p/6695259.html
Copyright © 2011-2022 走看看