为什么使用指针容器,而不是使用对象容器?
- 指针在内存中的大小是固定的(通常是4字节或8字节),不受指向的对象大小的影响。因此,使用指针容器(如
std::vector、QList等)存储对象的指针,可以节省内存,特别是当对象较大或者对象数量较多时。 - 基类指针可以包含派生对象的地址。这样, 基类指针的容器就能够包含任何派生对象的地址。进而,多态使得在运行时能够通过这些指针调用合适的函数。
指针容器的使用
- 当向容棉添加指针时,必须确保它已经被立即初始化了。如果不方便初始化,则应将其赋值为0。
- 当某个指针不再需要时,应移走并删除它。如果由于某些原因不方便立即将其移走,则被删除的指针应被重新赋值或者设置成0。
- 销毁 Qt 指针容器时,应调用 qDeleteAll ()函数。然后再使用容器类的clear()函数。
本文探讨了为何在IT中选择使用指针容器,如std::vector和QList,而非对象容器,强调了指针在内存效率上的优势,以及如何正确管理基类指针实现多态。特别关注了初始化、删除和销毁指针容器的注意事项。

2278

被折叠的 条评论
为什么被折叠?



