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:
Object.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 class Object { Object(std::vector<double>& vect); std::vector<double> m_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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Object::Object(std::vector<double>& vect) { m_vect = vect; }
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Object::Object(std::vector<double>& vect) { m_vect = std::vector<double>(vect .size()); m_vect = vect; }
Partager