STL的容器中既可以存储对象,也可以存储指针,这里分析一下利弊,和使用时的注意事项。

STL容器的工作方式:

1. 对基本数据类型,位拷贝;

2. 对自定义的类类型对象,调用Copy构造函数,复制一份;

 

因此如果存放对象,对象会被复制,在容器中的对象并不是原来的对象了,进出都需要拷贝,代价很大;

如果存放指针,指针会被复制,对象不会复制,但是存放指针容易造成内存泄漏,原因是,如果某个方法new了一个对象,并把指针放到某个容器中,在这个容器被delete时如果容器中的对象没有被调用析构函数,那这个对象的内存就被泄漏了。

 

Reference: http://hsw625728.blog.163.com/blog/static/3957072820091116115732821/

相关文章:

  • 2021-05-22
  • 2022-02-17
  • 2021-12-08
  • 2022-01-04
  • 2021-10-30
  • 2022-12-23
  • 2021-07-30
猜你喜欢
  • 2021-11-11
  • 2022-12-23
  • 2021-09-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
相关资源
相似解决方案