Bonjour à tous,
considérons l'exemple suivant (extrait de l'item 7 de "more exceptionnal C++"):
La question que je me pose concerne ce vecteur temporaire non nommé, qui récupère les 1000 éléments de c. Quand va-t-il être détruit? Autrement dit, quel est la durée de vie d'une variable temporaire non nommée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 vector<C> c(1000); // là, c.size() = 1000 et c.capacity() >=1000 c.reserve(10); //là c.size() = 10, mais c.capacity() n'a pas changé // on va donc faire un swap avec un vector temporaire non nommé pour changer la capacité de c: vector<C>(c).swap(c); //maintenant, c.capacity() >= 10
Partager