• C++常量的定义


    1、宏定义

      #define  DEMO  10

      这种方式定义的常量,在编译时,编译器看不到DEMO这个名称,在预处理的时候都被替换了。于是DEMO没有进入符号表内,这样,在运用此常量的地方出现编译错误时,错误信息不会提到DEMO,会导致难以定位错误信息。另外在进行调试时,也看不到DEMO名称。

    2、const常量定义

      (1)const定义普通常量

      const int demo = 10;                                    

      const char* const pDemo = "hello world";  

      const有内链接属性,所以在头文件中这样定义常量时,不会出现多个编译单元次引用头文件时出现链接错误。并且一般的编译器会给const变量只分配一个存储空间。

      (2)const定义类专属常量

      class Demo{

      private:

        static const int demo = 10;           //常量声明式,static确保此常量在类中只有一份实体

        int arrDemo[demo];                      //使用该常量

      };

      class中的是声明式(对于整数常量可以进行in-class初值设定,所以在声明式中给初值10),必须在cpp文件中给出定义式:

      const int Demo::demo;

      有的编译器不允许static成员在声明式中给初值,就只能在定义的时候给初值。

    3、enum定义常量

      enum { DEMO = 10, };

      去const常量的地址是合法的,但是取enum的地址不合法。

  • 相关阅读:
    easyUI之tree
    MSSQL索引优化
    MongoDB学习笔记(一) MongoDB介绍及安装
    项目经理必备的11种人际关系技能
    http协议详细介绍
    ERP存储过程
    UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher【密码】
    UVA1588 UVALive3712 POJ3158 Kickdown
    UVA1588 UVALive3712 POJ3158 Kickdown
    UVA10340 POJ1936 ZOJ1970 All in All【字符串匹配】
  • 原文地址:https://www.cnblogs.com/fangyan5218/p/11668589.html
Copyright © 2020-2023  润新知