gpt4 book ai didi

c++ - C++ 全局变量 destruct 的顺序?

转载 作者:行者123 更新时间:2023-11-30 01:55:05 26 4
gpt4 key购买 nike

我有两个全局变量:

static mutex m;
static object o;

和破坏|o|需要使用|n|

~object() {
auto_lock(&m);
}

但是,我发现有时候 |m|已被破坏。请问全局变量destruct的顺序?

最佳答案

析构函数总是以构造的相反顺序被调用。但是,如果两个变量都位于不同的编译单元中,那么很难判断哪个会先构造。但是,如果您的变量位于单个编译单元中,那么您应该是安全的。

引用资料: https://en.cppreference.com/w/cpp/language/destructor https://isocpp.org/wiki/faq/ctors#static-init-order

关于c++ - C++ 全局变量 destruct 的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21087782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com