zoukankan      html  css  js  c++  java
  • constexpr与指针

    一、

    常量表达式:是指值不会改变并且在编译过程就能得到的计算结果的表达式。

    定义常量表达式变量:

    constexpr 变量类型 变量名;

    例如:

    constexpr int mf=20;/////20是常量表达式

    constexpr int limit=mf+1;/////mf+1是常量表达式

    constexpr int sz=size();//////错误:size()只有到运行时才能获取到

    二、

         指针和引用都能定义为constexpr,但是他们的初始值却受到严格限制。一个constexpr指针的初始值必须是nullptr或者0,或者是存储于某个固定地址中的对象。

         const int *p=nullptr;////p是一个指向整型常量的指针

         constexpr int *q=nullptr;/////q是一个整数的常量指针

    注意:p和q相差甚远,p是一个指向常量的指针,q是一个常量指针,其中关键在于constexpr把它所定义的对象置为了顶层const。

    补充:顶层const指定义了一个常量指针,底层const指定义了一个指向常量的指针。

  • 相关阅读:
    20100920 [随笔] -Roy
    20100826 [随笔] Roy
    20100820随笔Roy
    20100825 [随笔] -Roy
    博客园开博随笔
    Synchronized vs SyncRoot
    Exception vs ApplicationException
    Monitor用法
    捕获ASP.NET程序发生的异常
    理解ParseChildren用法
  • 原文地址:https://www.cnblogs.com/cynthia-dcg/p/6057227.html
Copyright © 2011-2022 走看看