C++中类的静态成员与实例成员的区别
1、有static修饰的成员变量或成员函数称为静态成员。
2、在内存中,类的静态数据成员占有一块特定的内存空间,被该类的所有实例(对象)共享。而同一个类的不同对象的实例数据成员相互独立,占有各自的存储空间。
3、静态变量不能在构造函数中初始化,必须在类外的文件作用域中定义静态数据成员,即为它们分配存储空间。
4、在类之外,需要使用类名和域解析操作符:: 访问类的静态数据成员和共有函数成员。
5、在静态函数中,只能访问类的静态成员变量和静态函数,而不能访问类的实例数据成员。
静态函数和普通函数的本质区别:编译时,编译器没有为静态函数指定this参数,而普通函数有this参数。