c++之内存

来源:互联网 发布:基于大数据的数据仓库 编辑:程序博客网 时间:2024/05/04 02:18

1、静态内存

静态内存:局部static对象、类static数据成员、定义在函数之外的变量。
栈内存:函数内的非static对象。
静态内存和栈内存中的对象由编译器自动创建和销毁,栈对象在其定义的程序块运行时才存在,static对象在使用之前分配,在程序结束时销毁。

2、动态内存

new+delete,因为常常忘记delete导致内存泄漏,所以有智能指针类型来管理动态对象,两种智能指针。

头文件】:memory.h

智能指针类型

  • shared_ptr:允许多个指针指向同一个对象。
  • unique_ptr:“独占”所指对象。
  • weak_ptr:弱引用,指向shared_ptr所管理的对象。

详细

shared_ptr类

智能指针也是模板。如shared_ptr<string> p1;

0 0
原创粉丝点击