gpt4 book ai didi

c++ - 将静态私有(private)映射初始化为空

转载 作者:可可西里 更新时间:2023-11-01 18:14:59 25 4
gpt4 key购买 nike

我有一个 static map 是一个 private 数据成员。如何在实现文件中对其进行初始化,使其初始容器为空?它不是 const。开始时此容器中没有任何内容,这一点很重要。

最佳答案

标题:

class XXX {
private:
static std::map<X,Y> the_map; // declares static member
// ...

执行文件:

std::map<X,Y> XXX::the_map; // defines static member

这会将映射的构造函数调用插入到程序初始化代码中(并在清理中插入析构函数)。不过要小心 - 不同翻译单元之间的静态构造函数的顺序是未定义的。

关于c++ - 将静态私有(private)映射初始化为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11247407/

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