写 C++ 的时候,如果前端是 Clang 那么当你定义静态全局变量时, 就可能会出现一个警告, 叫做 “exit-time destructor”。

作为一个习惯把警告当作错误看的骚年, 我果断去查了为什么会这样,而结果是这样的:

全局的静态变量会在程序退出后调用它的 destructor。为啥要在程序退出后才调用呢?因为如果该变量在程序执行过程中被销毁,那么接下来对于该变量的操作都可能导致崩溃。

而在退出后再销毁的代价就是会导致程序退出的时间会延长。而这个警告就是为你指出这一点罢了。

 

相关文章:

  • 2022-12-23
  • 2021-08-03
  • 2022-12-23
  • 2021-07-04
  • 2022-12-23
  • 2021-08-20
  • 2021-10-10
  • 2021-07-20
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-06
  • 2022-12-23
  • 2021-07-17
  • 2021-06-01
相关资源
相似解决方案