尽量不用new,用智能指针
程序使用动态内存出于以下三种原因之一:
1.程序不知道自己需要使用多少对象(容器类)
2.程序不知道所需对象的准确类型(多态)
3.程序需要在多个对象间共享数据(智能指针,对象和底层数据生命周期不同)