声明:
类对象:利用类的构造函数在内存中分配一块内存,调用了构造函数
类指针:是一个内存地址值,指向内存中存放的类对象,没有调用构造函数
引用成员:
对象用"."
指针用"->"
对象生命期:
若是成员变量,则是类的析构函数来释放空间
若是函数中的临时变量,则作用域是该函数体内
指针生命期:
则需利用delete在相应的地方释放分配的内存块,用new一定要delete
内存占用:
对象用的是内存栈,是个局部的临时变量
指针用的是内存堆,是个永久变量,除非你释放它
函数调用:
对象参数,参数传递占用的资源就太大了
指针参数,传过去的就是4个字节
当类是有虚函数的基类,关于虚函数的调用:
类的对象调用的是它自己的虚函数
类的指针调用的是分配给它空间时那个类的虚函数,要发挥虚函数强大就必须使用指针
对于类的对象和类的指针(用new运算符分配内存)在应用时区别 :
1:指针可以实现多态,父类的指针可以指向子类的对象,直接使用对象不行
2:当你希望明确使用这个类的时候,最好使用对象,如果你希望使用C++中的动态绑定,则最好使用指针或者引用
3:在类的声明尚未完成的情况下,可以声明指向该类的指针,但是不可声明该类的对象
5:定义对象实例时就已经分配了内存,指针如果没有new则未分配类对象所需内存