On Fri, 24 Oct 2003 16:26:13 +0200, Christophe de VIENNE wrote:
Y a-t-il un moyen, garanti par la norme, de savoir si un itérateur a été instancié avec son constructeur par défaut et non encore assigné ?
Etant donné qu'un vector<>::iterator peut très bien être un pointeur, j'aurais tendance à dire non.
Par contre, j'aimerais bien savoir dans quel(s) cas tu peux avoir besoin d'un tel test.
-- ;-)
Christophe de VIENNE
Fabien LE LEZ wrote:
Par contre, j'aimerais bien savoir dans quel(s) cas tu peux avoir besoin d'un tel test.
Ben en fait en y regardant de plus près c'était la solution la plus sale, et je n'avais même pas envisagé de l'utiliser... Mais le fait d'y avoir pensé m'a montré que je n'avais pas une réponse rigoureuse à cette question. D'où mon message :-)
A+
Christophe
Fabien LE LEZ wrote:
Par contre, j'aimerais bien savoir dans quel(s) cas tu peux avoir
besoin d'un tel test.
Ben en fait en y regardant de plus près c'était la solution la plus
sale, et je n'avais même pas envisagé de l'utiliser...
Mais le fait d'y avoir pensé m'a montré que je n'avais pas une réponse
rigoureuse à cette question. D'où mon message :-)
Par contre, j'aimerais bien savoir dans quel(s) cas tu peux avoir besoin d'un tel test.
Ben en fait en y regardant de plus près c'était la solution la plus sale, et je n'avais même pas envisagé de l'utiliser... Mais le fait d'y avoir pensé m'a montré que je n'avais pas une réponse rigoureuse à cette question. D'où mon message :-)
A+
Christophe
kanze
Fabien LE LEZ wrote in message news:...
On Fri, 24 Oct 2003 16:26:13 +0200, Christophe de VIENNE wrote:
Y a-t-il un moyen, garanti par la norme, de savoir si un itérateur a été instancié avec son constructeur par défaut et non encore assigné ?
Etant donné qu'un vector<>::iterator peut très bien être un pointeur, j'aurais tendance à dire non.
En général, je crois que les itérateurs, pointeur ou non, obéissent aux régles des pointeurs ici -- il y a bien un constructeur par défaut, mais il ne fait rien, et tout essai de lire l'itérateur a un comportement indéfini. Lire l'itérateur même, et non seulement lire à travers l'itérateur.
Par contre, j'aimerais bien savoir dans quel(s) cas tu peux avoir besoin d'un tel test.
Quand on n'a pas fait une conception détaillée avant de coder :-) ?
Ou plus probablement, pour l'instrumentation.
-- James Kanze GABI Software mailto: 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
Fabien LE LEZ <gramster@gramster.com> wrote in message
news:<jqhipvgnkc3k12spapueqo024k0lsb8avp@4ax.com>...
On Fri, 24 Oct 2003 16:26:13 +0200, Christophe de VIENNE
<cdevienne@alphacent.com> wrote:
Y a-t-il un moyen, garanti par la norme, de savoir si un itérateur a
été instancié avec son constructeur par défaut et non encore assigné
?
Etant donné qu'un vector<>::iterator peut très bien être un pointeur,
j'aurais tendance à dire non.
En général, je crois que les itérateurs, pointeur ou non, obéissent aux
régles des pointeurs ici -- il y a bien un constructeur par défaut, mais
il ne fait rien, et tout essai de lire l'itérateur a un comportement
indéfini. Lire l'itérateur même, et non seulement lire à travers
l'itérateur.
Par contre, j'aimerais bien savoir dans quel(s) cas tu peux avoir
besoin d'un tel test.
Quand on n'a pas fait une conception détaillée avant de coder :-) ?
Ou plus probablement, pour l'instrumentation.
--
James Kanze GABI Software mailto:kanze@gabi-soft.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
On Fri, 24 Oct 2003 16:26:13 +0200, Christophe de VIENNE wrote:
Y a-t-il un moyen, garanti par la norme, de savoir si un itérateur a été instancié avec son constructeur par défaut et non encore assigné ?
Etant donné qu'un vector<>::iterator peut très bien être un pointeur, j'aurais tendance à dire non.
En général, je crois que les itérateurs, pointeur ou non, obéissent aux régles des pointeurs ici -- il y a bien un constructeur par défaut, mais il ne fait rien, et tout essai de lire l'itérateur a un comportement indéfini. Lire l'itérateur même, et non seulement lire à travers l'itérateur.
Par contre, j'aimerais bien savoir dans quel(s) cas tu peux avoir besoin d'un tel test.
Quand on n'a pas fait une conception détaillée avant de coder :-) ?
Ou plus probablement, pour l'instrumentation.
-- James Kanze GABI Software mailto: 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