使用原始指针还是智能指针

参考:C++智能指针的正确使用方式

智能指针能够自动操作内存分配和删除,所以相比较于指针而言,其更能够确保内存和资源不被泄漏

不过由于智能指针额外增加了对内存和引用的操作,所以性能上会弱于原始指针操作

使用关键在于是否需要关心指针内存:

  • 如果指向已有数组和对象,不需要指针进行内存管理,那么应该使用原始指针
  • 对于使用new关键字进行显式内存分配的指针而言,因为需要指针自己完成内存新建和删除操作,所以使用智能指针更加安全