Concaténer deux vector - C++ - Programmation
Marsh Posté le 01-05-2008 à 17:40:23
tu itéres sur les éléments du 2e que tu .push_back() dans le 1e
Marsh Posté le 01-05-2008 à 18:41:23
Salut,
Tu peux aussi utiliser std::copy + std::back_inserter pour éviter de le faire toi même.
Marsh Posté le 01-05-2008 à 20:18:09
Y'a des effets secondaires génants à écrire quelque chose du genre ? :
Code :
|
Marsh Posté le 01-05-2008 à 20:44:43
1/ valarray a deja un +=
2/ apres je sais pas si += est definsisable en fonction libre
Marsh Posté le 01-05-2008 à 20:46:55
Là, ça dépend ce qu'on sous-entend par "+=":
> concaténation de liste
> modification des éléments de chaque a par a[i] += b[i]
C'est peut-être un poil tiré par les cheveux, mais dès qu'il y a un double sens plausible, j'y réfléchis à 2 fois... Mais bon, je pense que la 2nde possibilité est un peu trop tirée par les cheveux dans le cas présent
Edit: Tiens, première fois que j'entends parler de valarray :s
Ca sort d'où? (je ne la trouve pas sur SGi ni cplusplus.com, mais sur la msdn et la page d'un compilo IBM
Marsh Posté le 01-05-2008 à 21:04:38
IrmatDen a écrit : Edit: Tiens, première fois que j'entends parler de valarray :s |
Par exemple dans The C++ Programming Language de Bjarne Stroustrup, comme une des classes de la STL, section 22.4 de la 3e Edition.
A+,
Marsh Posté le 01-05-2008 à 21:07:17
Je suis justement en train de le relire (et de tout comprendre, ce qui serait une premiere)
A+,
Marsh Posté le 01-05-2008 à 21:39:02
Merci pour vos réponses. J'ai utilisé la méthode faites main .
Si j'avais su pour back_inserter plus tot, dommage !!
Marsh Posté le 01-05-2008 à 21:47:46
IrmatDen a écrit : |
bah faut definir une semantique claire à tes entités et s'y tenir.
Perso += sur un conteneur c'est += sur chaque élément.
Marsh Posté le 01-05-2008 à 21:54:49
Ah, c'était pas si tiré par les cheveux que ça si c'est tu l'utilises ainsi...
Marsh Posté le 03-05-2008 à 16:01:32
IrmatDen a écrit : Salut, Tu peux aussi utiliser std::copy + std::back_inserter pour éviter de le faire toi même. |
Je suis un grand fan du back_inserter, mais pour un débutant, je conseille :
Code :
|
Je pense + facile à comprendre et résultat identique. Même si il faut éviter les exemples de .insert() sur un vecteur cas ce cas est un des rares qui n'impose pas des recopies dans tous les sens.
Marsh Posté le 01-05-2008 à 16:54:47
Bonjour,
existe-t-il une méthode pour concaténer deux vector ?
Merci beaucoup