STL dumper les valeurs d'un vecteur dans un fichier binaire

STL dumper les valeurs d'un vecteur dans un fichier binaire - C++ - Programmation

Marsh Posté le 03-09-2008 à 17:09:22    

Hello, petit question pour les utilisateurs avertis de la STL:
 
1) les valeurs d'un vecteur STL sont elles forcément adjacentes dans la mémoire ?
2) Si oui, est-il possible de récupérer un pointeur constant sur l'adresse de la première valeur du vecteur ?
 
Le but serait de 'dumper' efficacement un vecteur dans un fichier binaire.

Reply

Marsh Posté le 03-09-2008 à 17:09:22   

Reply

Marsh Posté le 03-09-2008 à 19:33:32    

1/ oui par design
2/ essaye :

 
Code :
  1. vector<float> k(100);
  2. float* const pk = &k[0];

Message cité 1 fois
Message édité par Joel F le 03-09-2008 à 19:33:39
Reply

Marsh Posté le 04-09-2008 à 07:23:23    

dumper ça va marcher que si tes éléments sont des POD (des struct au sens C), sinon ça va être la catastrophe.
 
Si tu voulais le faire en texte, tu ferais un joli std::copy(v.begin(), v.end(), std::ostream_iterator<T::value_type>(out, sep));

Reply

Marsh Posté le 04-09-2008 à 11:08:51    

Taz a écrit :

dumper ça va marcher que si tes éléments sont des POD (des struct au sens C), sinon ça va être la catastrophe.


 
ça devrait aller, c'est des unsigned int
 

Joel F a écrit :

1/ oui par design
2/ essaye :
 

Code :
  1. vector<float> k(100);
  2. float* const pk = &k[0];



 
Oui ça fonctionne, merci, ça pouvait pas être plus simple.

Reply

Sujets relatifs:

Leave a Replay

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