Cette discussion dérive de structure dedonnée et tableau et démarée suite à l'intervention de davidbrcz
Citation Envoyé par Davidbrcz Voir le message
Plus de problème de gestion de la mémoire, enveloppe RAII sur tes données (comprendre que la destruction se fait automatiquement)
Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
#include <iostream>
#include <string>
#include <vector>
#include <limits>
 
using namespace std;
 
struct foo{
  string x;
  string y;
};
 
int main ()
{
  short i, a;
 
  cout << "Longueur du tableaux : ";
  cin >> a;
  std::vector<foo> pointer(a); //ici on  réserve un tableau pour a objet, mais on pourrait en ajouter au fur et à mesure.
 
  cin.ignore(numeric_limits<streamsize>::max(), '\n');
 
  for(i = 0 ; i < a ; i++){
    cout << "Entrez une phrase pour tableau 1 array " << i << " : ";
    getline(cin, pointer[i].x);
  }
 
  for(i = 0 ; i < a ; i++){
    cout << "Entrez une phrase pour tableau 2 array " << i << " : ";
    getline(cin, pointer[i].y);
  }
 
  for(i = 0 ; i < a ; i++){
    cout << pointer[i].x << endl;
  }
 
  for(i = 0 ; i < a ; i++){
    cout << pointer[i].y << endl;
  }
  return 0;
}
Les vectors, c'est bon, il faut en manger (et la STl en général) car ca offrent plein de possibilité. Ajout d'élement simplifié, accès à la taille de la collection,...

Recherche sur google et une fois que tu y as gouté, tu ne t'en passes plus.
=====================================================================================================
=====================================================================================================
Citation Envoyé par Davidbrcz Voir le message
Ajout d'élement simplifié,
C'est peut être pas la caractéristique que je mettrais en premier, ça...

Les vector<> c'est bien tant que tu ajoutes des éléments à la fin, mais pour tous les autres cas, c'est pas adapté (il faut des queue ou des lists).

Pareil pour les suppressions d'ailleurs (la mémoire n'est jamais récupérée, dans un vector, à moins de recourir à des trucs).

Donc... les vecteurs c'est bien pour allouer des tableaux de taille fixe, déterminée à l'exécution, mais pour les tableaux dont la taille varie, gaffe!

Francois