我有一个static map
这是一个private
数据成员。如何在实现文件中初始化它,使其初始容器为空?它不是const
。重要的是,开始时该容器中没有任何东西。
Header:
class XXX {
private:
static std::map<X,Y> the_map; // declares static member
// ...
实施文件:
std::map<X,Y> XXX::the_map; // defines static member
这会将映射的构造函数调用插入到程序初始化代码中(并将析构函数插入到清理中)。但要小心 - 不同翻译单元之间的静态构造函数的顺序是未定义的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)