 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Michaël Delva Guest
|
Posted: Tue Feb 24, 2004 6:15 pm Post subject: copier un tableau statique dans un vecteur |
|
|
Bonsoir à tous,
imaginons le tableau suivant:
int stats_attaque[3] = { 8,11,14 };
et le vecteur std::vector<int> toto;
je voudrais utiliser std::copy pour copier les éléments du premier dans le
deuxième, mais je ne sais pas quoi mettre pour les deux premiers
arguments...
Merci d'avance
Mike
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Tue Feb 24, 2004 6:33 pm Post subject: Re: copier un tableau statique dans un vecteur |
|
|
On 24 Feb 2004 18:15:39 GMT, "Michaël Delva" <zoubidaman (AT) hotmail (DOT) com>
wrote:
| Quote: | int stats_attaque[3] = { 8,11,14 };
et le vecteur std::vector<int> toto;
je voudrais utiliser std::copy pour copier les éléments du premier dans le
deuxième, mais je ne sais pas quoi mettre pour les deux premiers
arguments...
|
int const nb_elements_stats_attaque= sizeof (stats_attaque) / sizeof
(stats_attaque[0]);
toto.resize (nb_elements_stats_attaque);
copy (stats_attaque, stats_attaque+nb_elements_stats_attaque,
toto.begin());
Ou :
toto.reserve (nb_elements_stats_attaque);
copy (stats_attaque, stats_attaque+nb_elements_stats_attaque,
back_inserter (toto));
--
;-)
|
|
| Back to top |
|
 |
Michaël Delva Guest
|
Posted: Tue Feb 24, 2004 10:53 pm Post subject: Re: copier un tableau statique dans un vecteur |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> wrote in
news:326n30lvjk5620bq22lvacntdmpfs783fa (AT) 4ax (DOT) com:
| Quote: | int const nb_elements_stats_attaque= sizeof (stats_attaque) / sizeof
(stats_attaque[0]);
toto.resize (nb_elements_stats_attaque);
copy (stats_attaque, stats_attaque+nb_elements_stats_attaque,
toto.begin());
Ou :
toto.reserve (nb_elements_stats_attaque);
copy (stats_attaque, stats_attaque+nb_elements_stats_attaque,
back_inserter (toto));
|
C'est ce que j'avais fait, mais il me semblait qu'il y avait une autre
méthode...
Merci!!
|
|
| Back to top |
|
 |
kanze@gabi-soft.fr Guest
|
Posted: Wed Feb 25, 2004 10:33 am Post subject: Re: copier un tableau statique dans un vecteur |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> wrote
| Quote: | On 24 Feb 2004 18:15:39 GMT, "Michaël Delva" <zoubidaman (AT) hotmail (DOT) com
wrote:
int stats_attaque[3] = { 8,11,14 };
et le vecteur std::vector
je voudrais utiliser std::copy pour copier les éléments du premier
dans le deuxième, mais je ne sais pas quoi mettre pour les deux
premiers arguments...
int const nb_elements_stats_attaque= sizeof (stats_attaque) / sizeof
(stats_attaque[0]);
toto.resize (nb_elements_stats_attaque);
copy (stats_attaque, stats_attaque+nb_elements_stats_attaque,
toto.begin());
Ou :
toto.reserve (nb_elements_stats_attaque);
copy (stats_attaque, stats_attaque+nb_elements_stats_attaque,
back_inserter (toto));
|
Ou simplement :
std::vector< int > toto( begin( stats_attaque ),
end( stats_attaque ) ) ;
avec la classique :
template< typename T, size_t N >
T*
begin( T (&array)[ N ] )
{
return array ;
}
template< typename T, size_t N >
T*
end( T (&array)[ N ] )
{
return array + N ;
}
(et les équivalents const -- j'aimerais bien savoir un jour pourquoi les
versions const sont nécessaire, et que les versions ci-dessus ne
marchent pas pour T == int const.)
--
James Kanze GABI Software mailto:kanze (AT) gabi-soft (DOT) fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Wed Feb 25, 2004 10:46 am Post subject: Re: copier un tableau statique dans un vecteur |
|
|
[email]kanze (AT) gabi-soft (DOT) fr[/email] writes:
| Quote: | (et les équivalents const -- j'aimerais bien savoir un jour pourquoi les
versions const sont nécessaire, et que les versions ci-dessus ne
marchent pas pour T == int const.)
|
Je crois que je t'ai déjà expliqué.
-- Gaby
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Wed Feb 25, 2004 11:50 am Post subject: Re: copier un tableau statique dans un vecteur |
|
|
On 25 Feb 2004 02:33:46 -0800, [email]kanze (AT) gabi-soft (DOT) fr[/email] wrote:
| Quote: | std::vector< int > toto( begin( stats_attaque ),
end( stats_attaque ) ) ;
|
J'y avais pensé, mais d'après le message d'origine le vector<> toto
est déjà créé.
--
;-)
|
|
| Back to top |
|
 |
Michaël Delva Guest
|
Posted: Wed Feb 25, 2004 3:38 pm Post subject: Re: copier un tableau statique dans un vecteur |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> wrote in
news:at2p30defeo0vc46vu90i86a3a0f9anqpk (AT) 4ax (DOT) com:
| Quote: | On 25 Feb 2004 02:33:46 -0800, [email]kanze (AT) gabi-soft (DOT) fr[/email] wrote:
std::vector< int > toto( begin( stats_attaque ),
end( stats_attaque ) ) ;
J'y avais pensé, mais d'après le message d'origine le vector<> toto
est déjà créé.
|
exact...
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|