C++ const and static

####const

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

####static

  • 局部静态变量存放在内存的全局数据区,函数结束时,静态局部变量不会消失,每次函数调用时,也不会为其重新分配空间,直到程序运行结束。
  • static成员变量初始化:类外初始化
  • static 成员函数没有this指针
  • static 成员函数不能被定义成常成员函数
  • static 成员函数只能操作传递进来的参数和静态成员变量

####const -- static

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

####类常量

  • static const int 和 static const char 可以在类内初始化(static const int = 127;)

猜你喜欢

转载自www.cnblogs.com/alilliam/p/12801691.html