c++ - 在 C++ 中,编写在 main() 之前执行的代码是一种好的形式吗?

标签 c++ constructor

在进入 main 之前调用全局声明类的构造函数。虽然这可能会让代码的新读者感到困惑,因为它很少这样做,但这一定是个坏主意吗?

最佳答案

不一定是个坏主意,但通常是。

首先,它是全局数据,而全局通常是一件坏事。 您拥有的全局状态越多,就越难推理您的程序。

其次,C++ 不保证在不同翻译单元(.cpp 文件)中定义的静态对象的初始化顺序——因此如果它们相互依赖,您可能会有麻烦。

关于c++ - 在 C++ 中,编写在 main() 之前执行的代码是一种好的形式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3110976/

相关文章:

c++ - 使用 cin 以特定格式读取

java - intentservice 没有空的构造函数,但是有一个构造函数

c# - 结构构造函数 : "fields must be fully assigned before control is returned to the caller."

c# - 使用默认参数重载构造函数

c++ - 在 C++ 中,如何从一个文件动态创建一个类的多个对象?

c# - 从外部覆盖类的构造函数

c++ - 使用相同的原型(prototype)通过引用传递一次变量,一次通过值传递变量

c++ - 使用 C++ 模板包装第 3 方 C 代码

c++ - Cuda 零拷贝性能

c++ - 连接尝试失败 MySQL poco