C++类的三种调用方式区别
遇到的问题
下面为三种方法调用,得到的结果相同,讨论用法
|
|
结论
第一种 直接在栈上分配空间,函数执行完生命周期结束,
第二种 现在的理解只有调用类中的静态成员函数才使用
第三种 在在堆上分配空间,栈上空间自动回收,堆空间需要程序员手动回收
当需要大空间时用new,暂时使用对象,并内存使用不大时直接定义对象
静态成员
C++类静态成员与类静态成员函数
静态成员的值对所有的对象是一样的。静态成员可以被初始化,但只能在类体外进行初始化。
静态成员是类所有的对象的共享的成员,而不是某个对象的成员。它在对象中不占用存储空间,这个属性为整个类所共有,不属于任何一个具体对象。
静态成员函数可以直接访问该类的静态数据和函数成员,而访问非静态数据成员必须通过参数传递的方式得到一个对象名,然后通过对象名来访问。
静态成员函数在类外实现时候无须加static关键字
静态成员函数没有this指针,它不能返回非静态成员,因为除了对象会调用它外,类本身也可以调用。