程序使用动态内存出于以下三种原因之一
1、程序不知道自己需要多少对象;
2、程序不知道所需对象的准确类型;
3、程序需要在多个对象间共享数据
shared_ptr的用法
可以指向特定类型的对象,用于自动释放所指的对象eg: shared_ptr<CDlgPointCloud> PointCloudDlgPointer;//指向类型为CDlgPointCloud的对象PointCloudDlgPointer;
当然还有一个最安全的分配和使用动态内存的方法就是调用一个名为make_shared的标准库函数;
make_shared的用法
当要用make_shared时,必须指定想要创建的对象类型,定义方式与模板类相同,在函数名之后跟一个尖括号,在其中给出类型;
如make_shared<int> p3 = make_shared<int>(42);
一般采用auto定义一个对象来保存make_shared的结果,如auto p1 =make_shared<int>(42);
本文探讨了程序使用动态内存的原因,包括不确定所需对象数量、类型及共享数据需求。重点介绍了shared_ptr与make_shared的使用方法,前者能自动管理所指向对象的生命周期,后者提供了一种安全简便的动态内存分配手段。

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



