Copie de vector avec operateur =
Bonjour,
Je souhaitais savoir si l'utilisation de l'operateur egal "operator=" faisait bien appelle au constructeur de copie de vector.
Voici un exemple pour illustrer.
Si j'ai une classe Object contenant un membre de type vector:
Code:
1 2 3 4 5 6
| class Object
{
Object(std::vector<double>& vect);
std::vector<double> m_vect;
}; |
Object.cpp
Code:
1 2 3 4
| Object::Object(std::vector<double>& vect)
{
m_vect = vect;
} |
Ma question est la suivante, est-ce que m_vect = vect; suffit (allocation de m_vect + copie), ou dois-je allouer mon vector puis copier ensuite:
Code:
1 2 3 4 5
| Object::Object(std::vector<double>& vect)
{
m_vect = std::vector<double>(vect .size());
m_vect = vect;
} |
Merci de votre aide.