writes:
| Gabriel Dos Reis wrote in message
| news:...
| [...]
| > | Tout juste. Plus précisément, lorsque l'on veut rendre dépendant
| > | autre chose qu'un membre.
| > Si c'est un membre, c'est « this -> ».
| > Si c'est pas membre, alors ce sont les arguments.
| Dans la logique, est-ce qu'il ne serait pas plutôt l'inverse. Ce
| sont les paramètres qui rendent la fonction dépendante. Seulement,
| dans le
???
quelle « la » logique ?
peut-tu rendre explicites tes hypothèses implicites ?
| cas d'un membre, sans le this, le compilateur ne peut pas savoir
| qu'il y a un paramètre implicit qui rendrait la fonction dépendante.
| > f(t);
| > où t est de type T, par exemple.
| Par curiosité, est-ce qu'il y a un moyen de rendre dépendant une
| fonction non membre qui n'a pas de paramètres ? Ou une donnée non
| membre ? (Et ce n'est vraiment que de la curiosité, parce que je
| n'arrive pas à imaginer un cas où ça serait nécessaire.)
Je n'ai compris la prose ; peux-tu reformuler en symboles ?
kanze@gabi-soft.fr writes:
| Gabriel Dos Reis <gdr@cs.tamu.edu> wrote in message
| news:<m3zn2bmutt.fsf@merlin.cs.tamu.edu>...
| [...]
| > | Tout juste. Plus précisément, lorsque l'on veut rendre dépendant
| > | autre chose qu'un membre.
| > Si c'est un membre, c'est « this -> ».
| > Si c'est pas membre, alors ce sont les arguments.
| Dans la logique, est-ce qu'il ne serait pas plutôt l'inverse. Ce
| sont les paramètres qui rendent la fonction dépendante. Seulement,
| dans le
???
quelle « la » logique ?
peut-tu rendre explicites tes hypothèses implicites ?
| cas d'un membre, sans le this, le compilateur ne peut pas savoir
| qu'il y a un paramètre implicit qui rendrait la fonction dépendante.
| > f(t);
| > où t est de type T, par exemple.
| Par curiosité, est-ce qu'il y a un moyen de rendre dépendant une
| fonction non membre qui n'a pas de paramètres ? Ou une donnée non
| membre ? (Et ce n'est vraiment que de la curiosité, parce que je
| n'arrive pas à imaginer un cas où ça serait nécessaire.)
Je n'ai compris la prose ; peux-tu reformuler en symboles ?
writes:
| Gabriel Dos Reis wrote in message
| news:...
| [...]
| > | Tout juste. Plus précisément, lorsque l'on veut rendre dépendant
| > | autre chose qu'un membre.
| > Si c'est un membre, c'est « this -> ».
| > Si c'est pas membre, alors ce sont les arguments.
| Dans la logique, est-ce qu'il ne serait pas plutôt l'inverse. Ce
| sont les paramètres qui rendent la fonction dépendante. Seulement,
| dans le
???
quelle « la » logique ?
peut-tu rendre explicites tes hypothèses implicites ?
| cas d'un membre, sans le this, le compilateur ne peut pas savoir
| qu'il y a un paramètre implicit qui rendrait la fonction dépendante.
| > f(t);
| > où t est de type T, par exemple.
| Par curiosité, est-ce qu'il y a un moyen de rendre dépendant une
| fonction non membre qui n'a pas de paramètres ? Ou une donnée non
| membre ? (Et ce n'est vraiment que de la curiosité, parce que je
| n'arrive pas à imaginer un cas où ça serait nécessaire.)
Je n'ai compris la prose ; peux-tu reformuler en symboles ?
Dans un template de classe, l'utilisation de this-> rend le nom
dépendant si (et seulement si) la classe elle-même dépend en quelque
sort d'un paramètre de template ; par exemple, si la classe en dérive.
Dans un template de classe, l'utilisation de this-> rend le nom
dépendant si (et seulement si) la classe elle-même dépend en quelque
sort d'un paramètre de template ; par exemple, si la classe en dérive.
Dans un template de classe, l'utilisation de this-> rend le nom
dépendant si (et seulement si) la classe elle-même dépend en quelque
sort d'un paramètre de template ; par exemple, si la classe en dérive.
drkm writes:
| [ c'est bizarre, f.c.l.c++, depuis que tu ne réponds qu'en décallé
| (décallé pour la plupart, pas pour Michel) ]
Je ne comprends pas ce que tu voulais dire.
drkm <usenet.fclcxx@fgeorges.org> writes:
| [ c'est bizarre, f.c.l.c++, depuis que tu ne réponds qu'en décallé
| (décallé pour la plupart, pas pour Michel) ]
Je ne comprends pas ce que tu voulais dire.
drkm writes:
| [ c'est bizarre, f.c.l.c++, depuis que tu ne réponds qu'en décallé
| (décallé pour la plupart, pas pour Michel) ]
Je ne comprends pas ce que tu voulais dire.
Mettons que j'ai une expression, « f() ». En supposant que le
symbole f n'est pas local au template, il serait recherché comme
n'étant pas dépendant. Or, supposons que pour une raison quelconque,
je veux qu'il soit dépendant, que la recherche ne se fait au moment
de l'instantiation. Est-ce possible ?
Mettons que j'ai une expression, « f() ». En supposant que le
symbole f n'est pas local au template, il serait recherché comme
n'étant pas dépendant. Or, supposons que pour une raison quelconque,
je veux qu'il soit dépendant, que la recherche ne se fait au moment
de l'instantiation. Est-ce possible ?
Mettons que j'ai une expression, « f() ». En supposant que le
symbole f n'est pas local au template, il serait recherché comme
n'étant pas dépendant. Or, supposons que pour une raison quelconque,
je veux qu'il soit dépendant, que la recherche ne se fait au moment
de l'instantiation. Est-ce possible ?
writes:Mettons que j'ai une expression, « f() ». En supposant que le
symbole f n'est pas local au template, il serait recherché comme
n'étant pas dépendant. Or, supposons que pour une raison quelconque,
je veux qu'il soit dépendant, que la recherche ne se fait au moment
de l'instantiation. Est-ce possible ?
Si ce n'est pas un membre et qu'il n'a pas de parametre d'un type
argument template, tu en fais un argument template.
La recherche de noms dans le contexte d'instanciation pour les
non-membres est simplement un moyen d'eviter d'avoir a passer des
arguments template. Si ce qui est fourni ne te convient pas -- que ce
ne soit pas un nom dependant ou que la recherche par nom ne soit pas
assez souple --, tu passes a la version lourde et tu specifies
explicitement les arguments.
Note que de ce point de vue, on peut considerer les traits comme un
moyen de regrouper une serie d'arguments templates -- comme passer une
struct peut etre considere comme un moyen de regrouper une serie
d'arguments donnee.
kanze@gabi-soft.fr writes:
Mettons que j'ai une expression, « f() ». En supposant que le
symbole f n'est pas local au template, il serait recherché comme
n'étant pas dépendant. Or, supposons que pour une raison quelconque,
je veux qu'il soit dépendant, que la recherche ne se fait au moment
de l'instantiation. Est-ce possible ?
Si ce n'est pas un membre et qu'il n'a pas de parametre d'un type
argument template, tu en fais un argument template.
La recherche de noms dans le contexte d'instanciation pour les
non-membres est simplement un moyen d'eviter d'avoir a passer des
arguments template. Si ce qui est fourni ne te convient pas -- que ce
ne soit pas un nom dependant ou que la recherche par nom ne soit pas
assez souple --, tu passes a la version lourde et tu specifies
explicitement les arguments.
Note que de ce point de vue, on peut considerer les traits comme un
moyen de regrouper une serie d'arguments templates -- comme passer une
struct peut etre considere comme un moyen de regrouper une serie
d'arguments donnee.
writes:Mettons que j'ai une expression, « f() ». En supposant que le
symbole f n'est pas local au template, il serait recherché comme
n'étant pas dépendant. Or, supposons que pour une raison quelconque,
je veux qu'il soit dépendant, que la recherche ne se fait au moment
de l'instantiation. Est-ce possible ?
Si ce n'est pas un membre et qu'il n'a pas de parametre d'un type
argument template, tu en fais un argument template.
La recherche de noms dans le contexte d'instanciation pour les
non-membres est simplement un moyen d'eviter d'avoir a passer des
arguments template. Si ce qui est fourni ne te convient pas -- que ce
ne soit pas un nom dependant ou que la recherche par nom ne soit pas
assez souple --, tu passes a la version lourde et tu specifies
explicitement les arguments.
Note que de ce point de vue, on peut considerer les traits comme un
moyen de regrouper une serie d'arguments templates -- comme passer une
struct peut etre considere comme un moyen de regrouper une serie
d'arguments donnee.
| Tout à fait. En revanche, je n'aimerais pas à avoir à spécifier
| basic_string avec tous ses paramètres s'il n'y avait pas un
| paramètre trait:-).
En réalité, nous sommes un certain nombre (y compris Matt Austern) à
voir enlever char_traits<>, si c'était possible. Il ne sert qu'à
alourdir les choses. Il n'a jamais servi de manière utile.
| Tout à fait. En revanche, je n'aimerais pas à avoir à spécifier
| basic_string avec tous ses paramètres s'il n'y avait pas un
| paramètre trait:-).
En réalité, nous sommes un certain nombre (y compris Matt Austern) à
voir enlever char_traits<>, si c'était possible. Il ne sert qu'à
alourdir les choses. Il n'a jamais servi de manière utile.
| Tout à fait. En revanche, je n'aimerais pas à avoir à spécifier
| basic_string avec tous ses paramètres s'il n'y avait pas un
| paramètre trait:-).
En réalité, nous sommes un certain nombre (y compris Matt Austern) à
voir enlever char_traits<>, si c'était possible. Il ne sert qu'à
alourdir les choses. Il n'a jamais servi de manière utile.