static静态成员(变量与函数)

1.类的成员函数是属于类的,而不是属于对象的。要创建类的成员变量可使用static关键字。在还没有产生对象的时候就可以访问它,但必须初始化。

2.static成员不隐含this指针,这也是它不能访问非静态成员函数和变量的原因,反之,非静态成员则可以访问静态成员。

3.不要把static成员变量的初始化操作安排在类的构造函数中,因为构造函数可能一再被调用,而变量的初值却只应该设定一次,也不要把初始化操作放在头文件中,因为它可能会被载入许多地方,因此也就可能被执行许多次。你应该在应用程序文件中,类以外的任何位置设定其初值。比如main、全局函数中,或任何函数之外。

  double SavingAccount::m_rate = 0.0075;

4.设定static成员变量初值时,不受任何存取权限的束缚。但在其他地方对static成员的重新赋值则需考虑存取权限的束缚。

5.在static成员初始化时,其类型也应出现在初值设定句中,实际上此时该static成员变量才定义出来。

  double SavingAccount::m_rate = 0.0075;

6.static成员无this指针的特性很适合作为在类中定义callback系统调用函数。

你可能感兴趣的:(static)