这个成语是什么,什么时候应该使用?它解决了哪些问题?当使用C++ 11时,成语是否会改变?
虽然在许多地方已经提到过,但我们没有任何单一的"它是什么"问题和答案,所以在这里.以下是前面提到的地方的部分列表:
c++ c++-faq copy-constructor assignment-operator copy-and-swap
只要我的上一个问题出现了新的问题,重载赋值运算符会导致有关递归的警告,我被合法地敦促将其作为新的发布.我在类Player中有一个引用类成员,我想实现该类的复制构造函数和赋值运算符(=).我必须提到的是,目的是函数vector.erase的精细工作,因为没有它,就我而言它无法正常工作.我使用vector:vector allPlayers; Player类的成员是:
class Player
{
private:
int ID;
int pMoney;
int doubleIndicator;
int squarePosition;
Bank& bank;
string pName;
Square* capturedSquare;
multimap<string, PropertySquare*> squaresColBought;
multimap<string, House*> housesColBuilt;
}
Run Code Online (Sandbox Code Playgroud)
如果我想实现赋值运算符,是否必须避免使用引用作为类成员?地图成员怎么样?我该如何最终实现赋值运算符?
我不知道的另一个最重要的问题是当我擦除持有Player的向量的迭代器时,指针类成员指向的对象会发生什么.有帮助吗?