带初始化列表的Boost :: unordered_map?

时间:2011-08-03 00:50:30

标签: c++ gcc boost initialization

是否可以使用初始化列表初始化boost::unordered_map-Weffc++需要它。

我无法使用方法来初始化它,因为我只在构造函数内部进行一些处理后才填充地图。我可以在方法中创建一个空地图并返回它,但这对我来说听起来不是一个好主意。

我也可以使用指针并将其初始化为NULL。我宁愿不要创造相当于空方法的东西。

1 个答案:

答案 0 :(得分:4)

只需在初始化列表中构造成员变量:

struct S {
    boost::unordered_map<int, int> m;

    S() : m() { }
};

这足以使-Weffc++闭嘴。