C++ const and static

const

  • const数据成员初始化:不能在类声明中初始化,应该在类构造函数的初始化表中进行初始化
  • 常成员函数:常成员函数不能修改除static以外的成员变量

static

  • 如果要声明一个全局变量,使用static修饰,可以限制作用范围在本文件当中
  • 局部静态变量存放在内存的全局数据区,函数结束时,静态局部变量不会消失,每次函数调用时,也不会为其重新分配空间,直到程序运行结束。
  • static成员变量初始化:类外初始化
  • static 成员函数没有this指针
  • static 成员函数不能被定义成常成员函数
  • static 成员函数只能操作传递进来的参数和静态成员变量

const -- static

  • const成员函数可以修改static成员变量

类常量

  • static const int 和 static const char 可以在类内初始化(static const int = 127;)
-------------------------------------------------------------逆水行舟,不进则退。
原文地址:https://www.cnblogs.com/alilliam/p/12801691.html