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;"...
| Bonjour, | | 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 :
En C++, tu peux simplement dire
bool f(const std::string&) { return true; }
i.e., tu n'es pas obligé de nommer un paramètre si tu ne t'en sers pas. (Ce n'est évidemment pas le cas en C).
[...]
| 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é ? :-)
-- Gaby
Fabien LE LEZ <gramster@gramster.com> writes:
| Bonjour,
|
| 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 :
En C++, tu peux simplement dire
bool f(const std::string&) { return true; }
i.e., tu n'es pas obligé de nommer un paramètre si tu ne t'en sers
pas. (Ce n'est évidemment pas le cas en C).
[...]
| 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é ? :-)
| Bonjour, | | 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 :
En C++, tu peux simplement dire
bool f(const std::string&) { return true; }
i.e., tu n'es pas obligé de nommer un paramètre si tu ne t'en sers pas. (Ce n'est évidemment pas le cas en C).
[...]
| 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é ? :-)
-- Gaby
Loïc Joly
Fabien LE LEZ wrote:
Bonjour,
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é.
Souvent, si tu écris bool f (std::string const& ) { return true; }
Les compilos ne font plus de warning.
-- Loïc
Fabien LE LEZ wrote:
Bonjour,
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é.
Souvent, si tu écris
bool f (std::string const& )
{
return true;
}
Souvent, si tu écris bool f (std::string const& ) Les compilos ne font plus de warning.
Je sais. Mais j'ai gardé le nom du paramètre parce que je savais en avoir besoin quand j'ai écrit l'implémentation réelle.
-- schtroumpf schtroumpf
Jean-Marc Bourguet
Fabien LE LEZ writes:
Bonjour,
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 :
La maniere normale en C++, c'est de ne pas donner de nom au parametre.
-- 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
Fabien LE LEZ <gramster@gramster.com> writes:
Bonjour,
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 :
La maniere normale en C++, c'est de ne pas donner de nom au parametre.
--
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
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 :
La maniere normale en C++, c'est de ne pas donner de nom au parametre.
-- 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
PurL
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é.
Merci,
PurL
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é.
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é.
Merci,
PurL
Alain Migeon
In article <cbb6ct$mvf$, says...
Souvent, si tu écris bool f (std::string const& ) { return true; }
Les compilos ne font plus de warning.
Avec Visual C++ 6, le compilo ne fait pas de warning si le niveau de warning est 3, mais en fera un si le niveau de warning est 4.
_______________________________ Alain Migeon Software engineer - Rovsing Dynamics - Skovlunde - Denmark Please reverse dk and rovsing for replying
In article <cbb6ct$mvf$1@news-reader2.wanadoo.fr>,
loic.actarus.joly@wanadoo.fr says...
Souvent, si tu écris
bool f (std::string const& )
{
return true;
}
Les compilos ne font plus de warning.
Avec Visual C++ 6, le compilo ne fait pas de warning si le niveau de
warning est 3, mais en fera un si le niveau de warning est 4.
_______________________________
Alain Migeon
Software engineer - Rovsing Dynamics - Skovlunde - Denmark
Please reverse dk and rovsing for replying
Souvent, si tu écris bool f (std::string const& ) { return true; }
Les compilos ne font plus de warning.
Avec Visual C++ 6, le compilo ne fait pas de warning si le niveau de warning est 3, mais en fera un si le niveau de warning est 4.
_______________________________ Alain Migeon Software engineer - Rovsing Dynamics - Skovlunde - Denmark Please reverse dk and rovsing for replying
Aurélien REGAT-BARREL
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é.
Moi non plus je n'ai jamais vu ça. Pour virer le warning en voulant garder le nom du paramètre (pour plus tard), il me semble que la manière simple et portable est :
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é.
Moi non plus je n'ai jamais vu ça.
Pour virer le warning en voulant garder le nom du paramètre (pour plus
tard), il me semble que la manière simple et portable est :
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é.
Moi non plus je n'ai jamais vu ça. Pour virer le warning en voulant garder le nom du paramètre (pour plus tard), il me semble que la manière simple et portable est :
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é.
La virgule (,) est un opérateur de séquencement qui est évalué de gauche à droite. Dans l'expression "x, true" , le compilateur évalue d'abord "x", puis "true" qui est alors passé au return. Le résultat de "x" est perdu,mais on a l'assurance (?) que l'évaluation de "x" a bien été effectuée et que tous ses effets de bordon été résolus avant l'évaluation de "true".
Vincent Guichard
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é.
La virgule (,) est un opérateur de séquencement qui est évalué de gauche
à droite. Dans l'expression "x, true" , le compilateur évalue d'abord
"x", puis "true" qui est alors passé au return. Le résultat de "x" est
perdu,mais on a l'assurance (?) que l'évaluation de "x" a bien été
effectuée et que tous ses effets de bordon été résolus avant
l'évaluation de "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é.
La virgule (,) est un opérateur de séquencement qui est évalué de gauche à droite. Dans l'expression "x, true" , le compilateur évalue d'abord "x", puis "true" qui est alors passé au return. Le résultat de "x" est perdu,mais on a l'assurance (?) que l'évaluation de "x" a bien été effectuée et que tous ses effets de bordon été résolus avant l'évaluation de "true".
Vincent Guichard
Fabien LE LEZ
On Wed, 23 Jun 2004 08:58:00 +0200, "PurL" :
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é.
"a, b" évalue a et b (dans ce sens, je crois), et renvoie b.
Exemple :
int f() { cout << "f" << endl; return 1; }
int g() { cout << "g" << endl; return 2; }
int h() { return f(),g(); }
int main() { cout << h() << endl; }
affichera :
f g 2
-- schtroumpf schtroumpf
On Wed, 23 Jun 2004 08:58:00 +0200, "PurL" <purl-nospam@chez.com>:
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é.
"a, b" évalue a et b (dans ce sens, je crois), et renvoie b.
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é.
"a, b" évalue a et b (dans ce sens, je crois), et renvoie b.
Exemple :
int f() { cout << "f" << endl; return 1; }
int g() { cout << "g" << endl; return 2; }
int h() { return f(),g(); }
int main() { cout << h() << endl; }
affichera :
f g 2
-- schtroumpf schtroumpf
Aurélien Regat-Barrel
Ca explique ce drôle de code que je viens de découvrir ailleurs : void ma_fonction( int p ); ma_fonction( (1, 2, 3) ); En fait c'est une erreur mais je me demandais pourquoi ça compilais et ce que ça voulais dire. Merci.
-- Aurélien REGAT-BARREL
Ca explique ce drôle de code que je viens de découvrir ailleurs :
void ma_fonction( int p );
ma_fonction( (1, 2, 3) );
En fait c'est une erreur mais je me demandais pourquoi ça compilais et ce
que ça voulais dire.
Merci.
Ca explique ce drôle de code que je viens de découvrir ailleurs : void ma_fonction( int p ); ma_fonction( (1, 2, 3) ); En fait c'est une erreur mais je me demandais pourquoi ça compilais et ce que ça voulais dire. Merci.