• 类里面的非static const成员


    类里面的成员变量可以用const修饰,在只用const不用static修饰的情况下,这种使用的限制比较多

    (1)不能定义处初始化,必须在类的构造函数初始化列表里面初始化(虽然在vs中,可以在定义处初始化,但是这是不符合语法的,如果用g++编译器,就会出现明显的报错,不利于程序的移植)

     1 class constNum{
     2    //const int size=10; 错误,不能在定义处对const成员变量进行初始化
     3      const int size;
     4 public:
     5    constNum(int ii=0);  
     6 };
     7 
     8 constNUm::constNum(int ii):size(ii){//const成员变量必须在成员构造函数初始化列表里面初始化
     9 
    10 }

    (2)const成员变量不能在构造函数中初始化

     1 class constNum{
     2     int size;
     3 public:
     4        constNum();
     5 
     6 
     7 };
     8 /*
     9 *    constNum::constNum(){
    10 *
    11 *       size=10;//在构造函数中初始化const成员变量是错误的
    12 *
    13 *     }
    14 *
    15 */

    (3)在类里面定义的常量,不能用来定于数组,类里面的常量与c语言里面的const常量的含义几乎一样,是运行时常量,不是编译时常量,类里面的const常量,只是意味着在对象的生命周期内,它的值不能改变

    1 class constNum{
    2    const int size;
    3    //int a[size]; const常量不能用来定义数组,只有枚举或者static const int size=10才能定义数组大小 
    4 };
  • 相关阅读:
    进度条功能
    网络编程
    并发编程
    UUID
    serverless 近期热度
    力扣 98. 验证二叉搜索树
    循环中多线程参数为空bug
    从头解决PKIX path building failed
    国内jenkins搭建不再龟速的方式
    CoachAI 2019年12月~2020年3月实习总结
  • 原文地址:https://www.cnblogs.com/cplinux/p/5591875.html
Copyright © 2020-2023  润新知