我想了解函数调用后的移动语义和右值引用以及对象状态。
例如:我希望调用者填写列表并获取构造函数参数:
typedef std::list<int> IntList;
class IntHolder {
public:
explicit IntHolder(IntList&& l)
: m_h(l)
{}
private:
IntList m_h;
};
IntList a;
a.push_back(1);
IntHolder holder(a);
// ... is 'a' guaranteed empty (not empty) here?