Destructors of global variables are not called
维护者通常 1 天内回复
评估
这个 Issue 还没有评估数据。
描述
#include <iostream>
struct SideEffectTracker {
int name;
explicit SideEffectTracker(int tag) : name(tag) {
std::cout << "[CONSTRUCTOR] " << name << " initialized.\n";
}
~SideEffectTracker() {
std::cout << "[DESTRUCTOR] " << name << " destroyed.\n";
}
void touch() const {
std::cout << "[USAGE] " << name << " accessed.\n";
}
};
// 1. Global statics (Initialized before main() in order of declaration)
SideEffectTracker g_global1(1);
SideEffectTracker g_global2(2);
void run_local_statics() {
// 2. Function-local static (Lazy initialization: only runs on first call)
static SideEffectTracker s_local_static(3);
s_local_static.touch();
}
int main() {
std::cout << "=== Entering main() ===\n\n";
g_global1.touch();
std::cout << "\n-- First call to run_local_statics() --\n";
run_local_statics();
std::cout << "\n-- Second call to run_local_statics() --\n";
run_local_statics();
std::cout << "\n=== Exiting main() ===\n";
return 0;
// Static destructors run after this line in REVERSE order of construction
}
should print:
[CONSTRUCTOR] 1 initialized.
[CONSTRUCTOR] 2 initialized.
=== Entering main() ===
[USAGE] 1 accessed.
-- First call to run_local_statics() --
[CONSTRUCTOR] 3 initialized.
[USAGE] 3 accessed.
-- Second call to run_local_statics() --
[USAGE] 3 accessed.
=== Exiting main() ===
[DESTRUCTOR] 3 destroyed.
[DESTRUCTOR] 2 destroyed.
[DESTRUCTOR] 1 destroyed.
- 主要语言
- Rust
- 星标
- 310
- 派生
- 18
- 平均合并
- 10 小时 18 分钟
- 30 天内合并 PR
- 125
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Cpp2Rust/cpp2rust 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 79/100
维护者通常 1 天内回复
-
难度 3/5 半天 新手友好度 55/100
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 56/100
维护者通常 1 天内回复
-
难度 4/5 1-2 天 新手友好度 35/100
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 56/100
维护者通常 1 天内回复
查看 Cpp2Rust/cpp2rust 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 73/100
维护者通常 1 天内回复
-
🐞 bug 🧩 bevy_gantz_egui
难度 2/5 1-3 小时 新手友好度 82/100
nannou-org/gantz#500 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 68/100
metasequoiaime/msime#10989 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
fritzprix/libr-agent#2612 ·
维护者通常 1 天内回复
-
find: -printf %h drops a doubled slash可能已有人在做 @qodelicious 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复