admin管理员组

文章数量:1794759

【C++高阶】:智能指针的全面解析

1.引言

到目前为止,我们编写的程序中所使用的对象都有着严格定义的生存期:

  • 全局对象:程序启动时分配,在程序结束时销毁。
  • 局部对象:当我们进入其定义所在的程序块时被创建,在离开块时销毁。
  • 局部static对象:在第一次使用前分配,在程序结束时销毁。

我们的程序到目前为止只使用过静态内存或栈内存:

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

本文标签: C高阶智能指针的全面解析