J'ai une fonction, en cours de création, qui ressemble à ça :
bool f (std::string const& x)
{
return true;
}
Bien évidemment, mon compilo râle parce que le paramètre "x" n'est pas
utilisé. Histoire de le faire taire pendant que je réfléchis à
l'implémentation réelle de la fonction, je tente ceci :
bool f (std::string const& x)
{
return x, true;
}
Et là, il râle toujours... alors qu'avec ceci :
bool f (std::string const& x)
{
x;
return true;
}
il ne râle plus (et considère donc que "x" est utilisé).
Bon, c'est pas une affaire d'état, et j'imagine que c'est encore une
bizarrerie de mon compilo, mais si jamais quelqu'un sait pourquoi en
voyant "return x, true;" il ne réagit pas de la même façon qu'en
voyant "x; return true;"...
On Wed, 23 Jun 2004 13:33:55 +0200, "Jacky Goyon" :
la virgule est surtout utilisée dans une boucle for
Et dans la programmation d'un Mastermind ;-)
-- schtroumpf schtroumpf
Alexandre
"PurL" a écrit dans le message de news:cbb9kv$v3k$
return x, true;
Désolé de mon intervention sans rapport avec la question, mais je voulais juste comprendre le sens de l'instruction ci-dessus car je ne l'ai jamais rencontré.
je crois que ça n'existe pas. Je ne vois pas ce que ça voudrait dire,
d'ailleurs. l'opérateur , représente une séparation dans une liste. Comment renvoyer une liste de valeurs ? Infaisable, non ? Enfin AMA.
"PurL" <purl-nospam@chez.com> a écrit dans le message de
news:cbb9kv$v3k$1@news-reader5.wanadoo.fr...
return x, true;
Désolé de mon intervention sans rapport avec la question, mais je voulais
juste comprendre le sens de l'instruction ci-dessus car je ne l'ai jamais
rencontré.
je crois que ça n'existe pas. Je ne vois pas ce que ça voudrait dire,
d'ailleurs. l'opérateur , représente une séparation dans une liste. Comment
renvoyer une liste de valeurs ? Infaisable, non ? Enfin AMA.
"PurL" a écrit dans le message de news:cbb9kv$v3k$
return x, true;
Désolé de mon intervention sans rapport avec la question, mais je voulais juste comprendre le sens de l'instruction ci-dessus car je ne l'ai jamais rencontré.
je crois que ça n'existe pas. Je ne vois pas ce que ça voudrait dire,
d'ailleurs. l'opérateur , représente une séparation dans une liste. Comment renvoyer une liste de valeurs ? Infaisable, non ? Enfin AMA.
Alexandre
oups, j'aurais du tout lire avant de poster. Ok, je comprends mieux. Donc c'est possible. On peut pas enlever un post ? Je sais, il vaut mieux lire avant d'écrire ;-)
oups, j'aurais du tout lire avant de poster. Ok, je comprends mieux. Donc
c'est possible.
On peut pas enlever un post ? Je sais, il vaut mieux lire avant d'écrire ;-)
oups, j'aurais du tout lire avant de poster. Ok, je comprends mieux. Donc c'est possible. On peut pas enlever un post ? Je sais, il vaut mieux lire avant d'écrire ;-)
James Kanze
"PurL" writes:
|> > return x, true;
|> Désolé de mon intervention sans rapport avec la question, mais je |> voulais juste comprendre le sens de l'instruction ci-dessus car je |> ne l'ai jamais rencontré.
Le sens, c'est de renvoyer le résultat de l'expression « x, true ». Dans cette expression, évidemment, le virgule est un opérateur, et non une ponctuation habituelle. Le sens est donc, évaluer « x », jeter le résultat de l'évaluation (mais non des effets de bord), puis évaluer l'expression « true », qui est le résultat de l'expression complète.
-- James Kanze Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
"PurL" <purl-nospam@chez.com> writes:
|> > return x, true;
|> Désolé de mon intervention sans rapport avec la question, mais je
|> voulais juste comprendre le sens de l'instruction ci-dessus car je
|> ne l'ai jamais rencontré.
Le sens, c'est de renvoyer le résultat de l'expression « x, true ».
Dans cette expression, évidemment, le virgule est un opérateur, et non
une ponctuation habituelle. Le sens est donc, évaluer « x », jeter le
résultat de l'évaluation (mais non des effets de bord), puis évaluer
l'expression « true », qui est le résultat de l'expression complète.
--
James Kanze
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
|> Désolé de mon intervention sans rapport avec la question, mais je |> voulais juste comprendre le sens de l'instruction ci-dessus car je |> ne l'ai jamais rencontré.
Le sens, c'est de renvoyer le résultat de l'expression « x, true ». Dans cette expression, évidemment, le virgule est un opérateur, et non une ponctuation habituelle. Le sens est donc, évaluer « x », jeter le résultat de l'évaluation (mais non des effets de bord), puis évaluer l'expression « true », qui est le résultat de l'expression complète.
-- James Kanze Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Jean-Noël Mégoz
"Gabriel Dos Reis" a écrit dans le message de news:
| Bon, c'est pas une affaire d'état, et j'imagine que c'est encore une | bizarrerie de mon compilo, mais si jamais quelqu'un sait pourquoi en | voyant "return x, true;" il ne réagit pas de la même façon qu'en | voyant "x; return true;"...
Peut-être que l'optimiseur n'est pas encore assez avancé ? :-)
Ou au contraire, il l'est trop : il considère que passer x directmeent de l'entrée à la sortie n'est pas une "utilisation" du paramètre... :)
"Gabriel Dos Reis" <gdr@cs.tamu.edu> a écrit dans le message de
news:m34qp51qo0.fsf@merlin.cs.tamu.edu...
| Bon, c'est pas une affaire d'état, et j'imagine que c'est encore une
| bizarrerie de mon compilo, mais si jamais quelqu'un sait pourquoi en
| voyant "return x, true;" il ne réagit pas de la même façon qu'en
| voyant "x; return true;"...
Peut-être que l'optimiseur n'est pas encore assez avancé ? :-)
Ou au contraire, il l'est trop : il considère que passer x directmeent de
l'entrée à la sortie n'est pas une "utilisation" du paramètre... :)
"Gabriel Dos Reis" a écrit dans le message de news:
| Bon, c'est pas une affaire d'état, et j'imagine que c'est encore une | bizarrerie de mon compilo, mais si jamais quelqu'un sait pourquoi en | voyant "return x, true;" il ne réagit pas de la même façon qu'en | voyant "x; return true;"...
Peut-être que l'optimiseur n'est pas encore assez avancé ? :-)
Ou au contraire, il l'est trop : il considère que passer x directmeent de l'entrée à la sortie n'est pas une "utilisation" du paramètre... :)
Fabien LE LEZ
On Wed, 23 Jun 2004 19:06:48 +0200, "Alexandre" :
On peut pas enlever un post ?
Si, du moins l'annuler (cf fr.usenet.reponses). Mias ceux qui l'ont déjà téléchargé le gardent ; il faut donc faire assez vite.
-- schtroumpf schtroumpf
On Wed, 23 Jun 2004 19:06:48 +0200, "Alexandre"
<alex.g@netcourrier.com>:
On peut pas enlever un post ?
Si, du moins l'annuler (cf fr.usenet.reponses). Mias ceux qui l'ont
déjà téléchargé le gardent ; il faut donc faire assez vite.
"a, b" évalue a et b (dans ce sens, je crois), et renvoie b.
Je ne connaissais pas. Merci pour ces explications ;)
PurL
Fabien LE LEZ
On Thu, 24 Jun 2004 10:21:29 +0200, "PurL" :
"a, b" évalue a et b (dans ce sens, je crois), et renvoie b.
Je ne connaissais pas.
Rassure-toi, on peut très bien vivre sans connaître ce genre de technique -- je ne sais même pas si on peut avoir l'occasion de l'utiliser légitimement ;-)
-- schtroumpf schtroumpf
On Thu, 24 Jun 2004 10:21:29 +0200, "PurL" <purl-nospam@chez.com>:
"a, b" évalue a et b (dans ce sens, je crois), et renvoie b.
Je ne connaissais pas.
Rassure-toi, on peut très bien vivre sans connaître ce genre de
technique -- je ne sais même pas si on peut avoir l'occasion de
l'utiliser légitimement ;-)
"a, b" évalue a et b (dans ce sens, je crois), et renvoie b.
Je ne connaissais pas.
Rassure-toi, on peut très bien vivre sans connaître ce genre de technique -- je ne sais même pas si on peut avoir l'occasion de l'utiliser légitimement ;-)
-- schtroumpf schtroumpf
Vincent Guichard
je ne sais même pas si on peut avoir l'occasion de l'utiliser légitimement ;-)
Mais si, mais si, comme l'a dit Jacky, dans les boucles for(), pour les
initialisations multiples et/ou les conditions multiples.
Vincent Guichard
je ne sais même pas si on peut avoir l'occasion de
l'utiliser légitimement ;-)
Mais si, mais si, comme l'a dit Jacky, dans les boucles for(), pour les
initialisations multiples et/ou les conditions multiples.