C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

vector et bool

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Cyril Gruau
Guest





PostPosted: Mon Jul 28, 2003 11:58 am    Post subject: vector et bool Reply with 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 ?

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





PostPosted: Mon Jul 28, 2003 12:17 pm    Post subject: Re: vector et bool Reply with quote



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





PostPosted: Mon Jul 28, 2003 12:21 pm    Post subject: Re: vector et bool Reply with quote



Quote:
Qui ne permet de faire :

MaClasse<bool> MonObjet(taille);

MonObjet[i] = 1;

C'est quoi MaClasse ?



Back to top
Fabien LE LEZ
Guest





PostPosted: Mon Jul 28, 2003 12:47 pm    Post subject: Re: vector et bool Reply with quote

On Mon, 28 Jul 2003 11:58:53 GMT, [email]Cyril.Gruau (AT) cemef (DOT) cma.fr[/email] (Cyril
Gruau) wrote:

Quote:
template<class T> T & operator[]

sur un vector<T> si je veux que ca fonctionne avec T = bool ?

Yep. Une des aberrations du C++...
Mais std::deque<> répond peut-être à tes besoins.


--
Tout sur fr.* (FAQ, etc.) : http://www.usenet-fr.net/fur/
et http://www.aminautes.org/forums/serveurs/tablefr.html
Archives : http://groups.google.com/advanced_group_search
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html

Back to top
Gabriel Dos Reis
Guest





PostPosted: Mon Jul 28, 2003 1:09 pm    Post subject: Re: vector et bool Reply with quote

[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





PostPosted: Mon Jul 28, 2003 1:42 pm    Post subject: Re: vector et bool Reply with quote

[email]Cyril.Gruau (AT) cemef (DOT) cma.fr[/email] (Cyril Gruau) writes:

Quote:
template<class T> class MaClasse
{

public:
MaClasse<T>(int taille) :Tableau(taille) {}

T & operator[](int i) { return Tableau[i]; }

Un moyen de faire passer avec bool:

vector<T>::reference operator[](int i) { return Tableau[i];}

mais tout depend du reste du programme.

Quote:
private:
vector<T> Tableau;
};

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Back to top
Gabriel Dos Reis
Guest





PostPosted: Mon Jul 28, 2003 7:51 pm    Post subject: Re: vector et bool Reply with quote

"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





PostPosted: Mon Jul 28, 2003 8:08 pm    Post subject: Re: vector et bool Reply with quote

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 Smile

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





PostPosted: Mon Jul 28, 2003 8:17 pm    Post subject: Re: vector et bool Reply with quote

"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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.