[C++] std::vector initialisation / constantes

std::vector initialisation / constantes [C++] - C++ - Programmation

Marsh Posté le 10-04-2004 à 16:01:47    

Bonjour,
 
Je souhaiterais créer des constantes à base du type std::vector. Je ne vois pas comment faire.  :??:  
 

Code :
  1. // bêtes tentatives :
  2. const std::vector<bool> ma_constante( true, false, true );
  3. const std::vector<bool> ma_constante( 3, true ) = { true, false, true };
  4. //..


 
Merci,
   Xter.

Reply

Marsh Posté le 10-04-2004 à 16:01:47   

Reply

Marsh Posté le 10-04-2004 à 16:11:00    

arf.... c'est toujours au moment exact que je post sur ce forum, que je trouve une solution :
 

Code :
  1. const bool ma_constante_tab[3] = { true, false, true };
  2. const std::vector<bool> ma_constante(ma_constante_tab,ma_constante_tab+3);


 
Merci qd même,
   xter.


Message édité par xterminhate le 10-04-2004 à 16:14:50
Reply

Marsh Posté le 10-04-2004 à 17:12:39    

et pourquoi pas un tableau ?

Reply

Marsh Posté le 10-04-2004 à 17:15:02    

une constante à base d'un tableau au lieu d'un vector... non j'ai pas de tableau dans mon code, que des vector. Donc c'est bien des constantes de vector qu'il me faut.
 
Cordialement,
   xter.

Reply

Marsh Posté le 10-04-2004 à 17:22:51    

xterminhate a écrit :

une constante à base d'un tableau au lieu d'un vector... non j'ai pas de tableau dans mon code, que des vector. Donc c'est bien des constantes de vector qu'il me faut.
 
Cordialement,
   xter.

et alors ? tu peux très bien de servir d'un tableau et d'un vecteur de manière assez indépendante. toutes façons, c'est un peu articiel, tu peux très bien faire une une vector pas constant, et une fonction d'accès qui renvoie une référence constant

Reply

Marsh Posté le 10-04-2004 à 17:29:14    

Je voulais inclure dans ma classe des arguments de fonction prets à l'emploi mais constant !
 
Genre...
 

Code :
  1. class ma_classe
  2. {
  3. void f(const std::vector<T> & v);
  4. static const std::vector<T> v1;
  5. static const std::vector<T> v2;
  6. static const std::vector<T> v3;
  7. };
  8. int main()
  9. {
  10. ma_classe x;
  11. x.f(ma_classe::v1);
  12. x.f(ma_classe::v2);
  13. // creation d'une const par l'utilisateur, de la manière qui lui fait plaisir (!)
  14. const std::vector<T> v3;
  15. x.f(v3);
  16. std::vector<T> v4(3, truc_de_type_T);
  17. v4.at(1) = bidule_type_T;
  18. x.f(v4);
  19. // ....etc.
  20. }


 
Cordialement,
  xter.


Message édité par xterminhate le 10-04-2004 à 17:35:29
Reply

Sujets relatifs:

Leave a Replay

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