初始化列表之前的对象初始化

时间:2015-08-31 12:23:31

标签: c++ c++11

下式给出:

class A {
    std::list<int> m_list;
    std::list<int>::iterator m_iterator;
public:
    explicit A() : m_iterator(m_list.begin()) { }
};

我确保在评估ctor初始化列表之前构建 m_list,以便begin()正确取消引用其开头/结尾?或者我应该更好地在ctor体内使用m_iterator作业吗?

1 个答案:

答案 0 :(得分:5)

会员按照声明顺序构建。

所以 m_list将在调用m_list.begin()之前构建。