| View previous topic :: View next topic |
| Author |
Message |
Cyril Gruau Guest
|
Posted: Mon Jul 28, 2003 11:58 am Post subject: vector et bool |
|
|
Est-que je suis condamne a ne pas utiliser un
template<class T> T & operator[]
sur un vector<T> si je veux que ca fonctionne avec T = bool ?
Car g++ souleve l'erreur suivante a la compilation :
could not convert 'vector<bool, _Alloc>::operator[](i)' to 'bool &'
Cyril
|
|
| Back to top |
|
 |
Cyril Gruau Guest
|
Posted: Mon Jul 28, 2003 12:17 pm Post subject: Re: vector et bool |
|
|
| Quote: | std::vector<bool> est specialise (23.2.5) pour optimise la place
memoire (autrement dit un bit par element) et operator[] renvoie un
std::vector<bool>::reference.
|
Qui ne permet de faire :
MaClasse<bool> MonObjet(taille);
MonObjet[i] = 1;
Cyril
|
|
| Back to top |
|
 |
Vincent Lascaux Guest
|
Posted: Mon Jul 28, 2003 12:21 pm Post subject: Re: vector et bool |
|
|
| Quote: | Qui ne permet de faire :
MaClasse<bool> MonObjet(taille);
MonObjet[i] = 1;
|
C'est quoi MaClasse ?
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Mon Jul 28, 2003 1:09 pm Post subject: Re: vector et bool |
|
|
[email]Cyril.Gruau (AT) cemef (DOT) cma.fr[/email] (Cyril Gruau) writes:
| Quote: | Est-que je suis condamne a ne pas utiliser un
template<class T> T & operator[]
sur un vector<T> si je veux que ca fonctionne avec T = bool ?
|
Yep, tu ne dois pas supposer que le type de retour est forcément T& ou
const T&. C'est une bataille qu'on a perdue -- faute de combattants.
Mais tu peux utiliser std::vector<char>, si cela peut faire l'affaire.
-- Gaby
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Mon Jul 28, 2003 7:51 pm Post subject: Re: vector et bool |
|
|
"Michael Monerau" <cort (AT) meloo (DOT) com> writes:
| Quote: | Gabriel Dos Reis wrote:
[email]Cyril.Gruau (AT) cemef (DOT) cma.fr[/email] (Cyril Gruau) writes:
Est-que je suis condamne a ne pas utiliser un
template<class T> T & operator[]
sur un vector<T> si je veux que ca fonctionne avec T = bool ?
Yep, tu ne dois pas supposer que le type de retour est forcément T& ou
const T&. C'est une bataille qu'on a perdue -- faute de combattants.
Alors, à quoi sert un vector
|
un attrape-nigaud et un thème de débat sur les news :-)
| Quote: | et comment l'utiliser (seulement par itérateurs ?).
|
En général, normalement. Tand qu'on fait pas un truc qui a l'air de
supposer qu'on travaille avec des vecteurs.
-- Gaby
|
|
| Back to top |
|
 |
Michael Monerau Guest
|
Posted: Mon Jul 28, 2003 8:08 pm Post subject: Re: vector et bool |
|
|
Gabriel Dos Reis wrote:
| Quote: | "Michael Monerau" <cort (AT) meloo (DOT) com> writes:
Gabriel Dos Reis wrote:
[email]Cyril.Gruau (AT) cemef (DOT) cma.fr[/email] (Cyril Gruau) writes:
Est-que je suis condamne a ne pas utiliser un
template<class T> T & operator[]
sur un vector<T> si je veux que ca fonctionne avec T = bool ?
Yep, tu ne dois pas supposer que le type de retour est forcément T&
ou const T&. C'est une bataille qu'on a perdue -- faute de
combattants.
Alors, à quoi sert un vector<bool
un attrape-nigaud et un thème de débat sur les news
|
c'est déjà pas mal :)
| Quote: | et comment l'utiliser (seulement par itérateurs ?).
En général, normalement. Tand qu'on fait pas un truc qui a l'air de
supposer qu'on travaille avec des vecteurs.
|
OK, je n'avais pas réalisé le clash entre bit (retour) et bool (type T). Je
vois maintenant, et c'est vrai que...
Au fait, c'est quoi le retour de l'opérateur [] sur avec T == bool alors ?
--
<=-Michaël"Cortex" Monerau.-=>
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Mon Jul 28, 2003 8:17 pm Post subject: Re: vector et bool |
|
|
"Michael Monerau" <cort (AT) meloo (DOT) com> writes:
| Quote: | Au fait, c'est quoi le retour de l'opérateur [] sur avec T == bool alors ?
|
La classe proxy vector<bool>::reference (ou la version const, c'est selon).
-- Gaby
|
|
| Back to top |
|
 |
|