C++类中成员变量和成员指针变量小结

来源:互联网 发布:sql 代表什么 编辑:程序博客网 时间:2024/05/17 23:09

指针的确有点难理解,不过它之所以存在并大范围使用,这样做是有一定道理的。

一、C++中的类和结构使用指针定义成员作用

1、多态的要求。
如果要使用同一接口,多态设计,那么就一定要使用基类指针。只有指针才能在实力化后动态的判断使用哪个方法。

2、代码复用。有一些程序要设计成一段代码能处理多个事。用指针可以提高复用和灵活性。


3、节省内存损耗。在函数调用等一些问题上,使用指针可以减少临时内存变量和复制

比如在函数传递的时候,可以只复制一个指针(4字节)了事,而用成员变量,就会变成了size(class ccc)了,内存就会 大大占用了;
当然指针也会有副作用,在构造类的时候,也会因为是指针,而造成内存的错误;所以析构函数要释放内存,还有基类的析构函数最好要virtual


4、动态数组的内存分配。因为不能确定数组个数,指针使用new来分配可以根据运行时分配。


成员变量一般用来表示类的属性

为了提高效率,假如在你的程序当中,没有需要用到结构或者类来进行传参的话,那么就直接min b,像你说的这样用就好了,因为用指针的话多了一步间接寻址的过程,反而让程序运行时间更加长了(这个多了的时间,基本可以用ms为单位来计算)但是有以结构或者对象来作为参数的函数时,应该用指针传递或者引用传递,假如是直接值传递的话,结构需要拷贝的时间,类则多了拷贝构造函数调用的时间,还要复制,最后可能还要调用析构函数,时间开销很大,一个函数调用10次的话,就10倍的增加,所以大部分都是直接用指针来替代,方便,简介,效率

1 0