Clear, erase et allocation mémoire
Bonjour,
j'aimerais connaitre le comportement de clear et erase sur un vector.
En particulier, si je fais le code :
Code:
1 2 3 4 5
|
std::vector<OBJ> v;
v.reserve(1024);
(on remplit...)
v.clear(); |
l'allocation mémoire faite par le "reserve" est-elle conservée ou non ?
Qu'en est-il pour :
Code:
1 2 3 4 5
|
std::vector<OBJ> v;
v.reserve(1024);
(on remplit...)
v.erase(v.begin(), v.end()); |
Expérimentalement, il me semble que le "erase" ne nécessite pas de "reserve" par la suite contrairement au "clear" mais j'aimerais une confirmation plus "théorique" :D
Merci d'avance !