C++学习之对象的生命周期

    技术2022-07-11  76

    对象的生命周期从对象的构造函数完成那刻开始,直到析构函数执行行为止,我们从声明周期的角度把对象划分为以下类型: 自动对象 除非程序员特别说明,否则在函数中声明的对象在其定义处被创建,当超出作用域范围被销毁。在大多数实现中,自动对象被分配在栈空间中,每调用一次函数,获取新的栈帧以存放它的自动对象。 静态对象 在全局作用域或名字空间作用域中声明的对象以及在函数或者类中声明的static成员只被创建并初始化一次。并且直到程序结束以前都活着,这样的对象被称为静态对象。 自由存储对象 用new和delete直接控制其生命周期的对象 临时对象 比如计算的中间结果或用于存放const实参引用的值的对象,临时对象的生命周期有其用法决定。 线程局部对象 声明为thread_local的对象,这样的对象试着线程的创建而创建,随着线程的销毁而销毁。

    Processed: 0.009, SQL: 9