Delete de std::vector<string>

Delete de std::vector<string> - C++ - Programmation

Marsh Posté le 05-01-2004 à 20:34:03    

Sous c++ builder, je veux utliser un vecteur (std::vector)de String (les ansi string du c++ builder).
 
Je fais :
 
vector<String> * v = new vector<string>;
String s = "toto";
v->push_back(s);
...
 
Mais comment effacer un tel vecteur ?
 
delete v; ?
clear et ensuite delete ?
 
Car j'ai l'impression qu'un simple delete ne m'efface pas les objets String contenus dans le vecteur. Avec des vecteurs de int, pas de probleme un simple delete v; suffit mais c est peut etre different avec des ansi string ?

Reply

Marsh Posté le 05-01-2004 à 20:34:03   

Reply

Marsh Posté le 05-01-2004 à 21:37:49    

pourquoi une allocation dynamique ?
sinon un delete fonctionne parfaitement et vector<> appelle le destructeur de tous les objets à sa charge

Reply

Marsh Posté le 06-01-2004 à 11:52:46    

Pk j'utilise un pointeur sur le vecteur ? Car je dois le passer en parametre de plusieurs fcts par la suite.
 

Reply

Marsh Posté le 06-01-2004 à 12:40:03    

et les références ? puis c pas une raison, meme avec tes pointeurs tu peux faire :
 

Code :
  1. void gnagna(vector<int>* v);
  2. int main()
  3. {
  4.   vector<int> v;
  5.   gnagna(&v);
  6. }


 
mais mieux avec les références :
 

Code :
  1. void gnagna(vector<int> & v);
  2. int main()
  3. {
  4.   vector<int> v;
  5.   gnagna(v);
  6. }



---------------
-( BlackGoddess )-
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed