静态初始化的反义词是什么?
What is the opposite of static initialization?
当通信在 main()
之前初始化的对象时,我们通常将其称为 "static initialization"。是否有与之相反的标准术语,例如 "static de-initialization"?这指的是那些静态对象何时被销毁(退出后main()
)。
我会称之为 "static constructor" 和 "static destructor"。比"de-initialization".
更容易发音
这里的问题是您试图从功能角度描述流程。这不适用于 C++,因为我们没有 "static initialization" 或 functions/code 的概念,即 main()
.
之前的 运行
在 C++ 中,运行 代码 before/after main()
的方法是通过对象的 construction/destruction。所以你必须用这些概念来描述过程。
你说的"static initialization"其实就是静态存储时长对象的构造。现在,当你使用这个短语时,C++ 程序员会立即认出它并畏缩(因为你必须了解所有相关的复杂性)。
与此相反的是:销毁静态存储持续时间对象。
这些是您应该使用的术语。
这些将向其他有经验的程序员传达您正在寻找的确切含义。
有关存储持续时间对象的更多详细信息:
C++ 中有 4 种类型的对象。
- 静态存储持续时间对象
- 动态存储持续时间对象
- 自动存储持续时间对象
- 线程存储持续时间对象。
每种类型都有特定的创建和销毁时间。
此外底层内存是否先初始化为零也有规定
然后有关于对象constructor/destructor何时被调用的规则(如果对象类型有constructors/destructors)。
静态存储持续时间对象
对于 "Static Storage Duration" 对象,它们可以在 main 之前构造。但它比这要复杂一点(因为有些是在需要时惰性构造的,而另一些是在访问命名空间后才构造的)。
但是 销毁的顺序是 100% 明确定义的。这是完全相反的构造顺序。因此,所有 "Static Storage Duration" 对象都将按照与构造完全相反的顺序销毁(在 main 完成后)。当对象被销毁时,它的析构函数被调用(如果它有一个)。
无论对象是静态的还是动态的,调用析构函数时发生的动作是"destruction"。
这个特殊情况将是 "static object destruction",与 "static object initialization" 相反。
当通信在 main()
之前初始化的对象时,我们通常将其称为 "static initialization"。是否有与之相反的标准术语,例如 "static de-initialization"?这指的是那些静态对象何时被销毁(退出后main()
)。
我会称之为 "static constructor" 和 "static destructor"。比"de-initialization".
更容易发音这里的问题是您试图从功能角度描述流程。这不适用于 C++,因为我们没有 "static initialization" 或 functions/code 的概念,即 main()
.
在 C++ 中,运行 代码 before/after main()
的方法是通过对象的 construction/destruction。所以你必须用这些概念来描述过程。
你说的"static initialization"其实就是静态存储时长对象的构造。现在,当你使用这个短语时,C++ 程序员会立即认出它并畏缩(因为你必须了解所有相关的复杂性)。
与此相反的是:销毁静态存储持续时间对象。
这些是您应该使用的术语。
这些将向其他有经验的程序员传达您正在寻找的确切含义。
有关存储持续时间对象的更多详细信息:
C++ 中有 4 种类型的对象。
- 静态存储持续时间对象
- 动态存储持续时间对象
- 自动存储持续时间对象
- 线程存储持续时间对象。
每种类型都有特定的创建和销毁时间。
此外底层内存是否先初始化为零也有规定
然后有关于对象constructor/destructor何时被调用的规则(如果对象类型有constructors/destructors)。
静态存储持续时间对象
对于 "Static Storage Duration" 对象,它们可以在 main 之前构造。但它比这要复杂一点(因为有些是在需要时惰性构造的,而另一些是在访问命名空间后才构造的)。
但是 销毁的顺序是 100% 明确定义的。这是完全相反的构造顺序。因此,所有 "Static Storage Duration" 对象都将按照与构造完全相反的顺序销毁(在 main 完成后)。当对象被销毁时,它的析构函数被调用(如果它有一个)。
无论对象是静态的还是动态的,调用析构函数时发生的动作是"destruction"。
这个特殊情况将是 "static object destruction",与 "static object initialization" 相反。