如何覆盖 std::atomic 类 的默认析构函数

How to override default destructor for std::atomic classes

我定义了一个名为 Node 的 class 并使用 std::atomic 声明了以下变量:

 atomic<Node *> head(new Node());

一旦原子 class 本身被破坏,其中包含的 Node 指针将是 deleted,但是我希望在其他地方删除指针。

我正在使用 MinGW,我检查了 GCC 源代码,它确实使用了默认的析构函数。

如何覆盖原子 class 的默认析构函数?

atomic<Node*> 的析构函数不会删除指针对象,因此您无需执行任何操作。