Justement, j'arrive pas vraiment à discerner (honte à moi !) : les
pointeurs, aucun problème : des objets alloués par new
Justement, j'arrive pas vraiment à discerner (honte à moi !) : les
pointeurs, aucun problème : des objets alloués par new
Justement, j'arrive pas vraiment à discerner (honte à moi !) : les
pointeurs, aucun problème : des objets alloués par new
Dans news:btjl6q$kaa$, ArnaudJustement, j'arrive pas vraiment à discerner (honte à moi !) : les
pointeurs, aucun problème : des objets alloués par new, qui ont une
portée plus grande que la méthode, et une durée de vie choisie par
l'utilisateur ; les objets "valeur" pour des objets temporaires, de
durée de vie fonction... par contre, les références, je les utilise
seulement lorsqu'une méthode dans une API me l'impose !
De D&E « References were introduced primarily to support operator
overloading. [...] notational convenience is essential because users
cannot be expected to insert address-of operators if the objects are
large. For example:
a = b - c;
is acceptable (that is, conventional) notation, but
a = &b - &c;
is not. »
Ceci dit, ce n'est pas la seule utilité : que ça paraisse bon ou
mauvais aux yeux de certains, le passage de paramètre de sortie en C++
est typiquement fait par des références et il est normal de renvoyer
une référence à partir d'une fonction quand c'est utile.
Dans ces deux cas, des pointeurs pourraient être utilisés, mais la
syntaxe est alors moins naturelle... sauf pour ceux qui viennent de C
Dans news:btjl6q$kaa$1@news.u-bordeaux.fr, Arnaud
Justement, j'arrive pas vraiment à discerner (honte à moi !) : les
pointeurs, aucun problème : des objets alloués par new, qui ont une
portée plus grande que la méthode, et une durée de vie choisie par
l'utilisateur ; les objets "valeur" pour des objets temporaires, de
durée de vie fonction... par contre, les références, je les utilise
seulement lorsqu'une méthode dans une API me l'impose !
De D&E « References were introduced primarily to support operator
overloading. [...] notational convenience is essential because users
cannot be expected to insert address-of operators if the objects are
large. For example:
a = b - c;
is acceptable (that is, conventional) notation, but
a = &b - &c;
is not. »
Ceci dit, ce n'est pas la seule utilité : que ça paraisse bon ou
mauvais aux yeux de certains, le passage de paramètre de sortie en C++
est typiquement fait par des références et il est normal de renvoyer
une référence à partir d'une fonction quand c'est utile.
Dans ces deux cas, des pointeurs pourraient être utilisés, mais la
syntaxe est alors moins naturelle... sauf pour ceux qui viennent de C
Dans news:btjl6q$kaa$, ArnaudJustement, j'arrive pas vraiment à discerner (honte à moi !) : les
pointeurs, aucun problème : des objets alloués par new, qui ont une
portée plus grande que la méthode, et une durée de vie choisie par
l'utilisateur ; les objets "valeur" pour des objets temporaires, de
durée de vie fonction... par contre, les références, je les utilise
seulement lorsqu'une méthode dans une API me l'impose !
De D&E « References were introduced primarily to support operator
overloading. [...] notational convenience is essential because users
cannot be expected to insert address-of operators if the objects are
large. For example:
a = b - c;
is acceptable (that is, conventional) notation, but
a = &b - &c;
is not. »
Ceci dit, ce n'est pas la seule utilité : que ça paraisse bon ou
mauvais aux yeux de certains, le passage de paramètre de sortie en C++
est typiquement fait par des références et il est normal de renvoyer
une référence à partir d'une fonction quand c'est utile.
Dans ces deux cas, des pointeurs pourraient être utilisés, mais la
syntaxe est alors moins naturelle... sauf pour ceux qui viennent de C
writes:
| Gabriel Dos Reis wrote in message
| news:...
| > writes:
| > | Pourquoi, pourquoi et pourquoi. Le nom du type générique, c'est
| > | std::vector. C'est vrai que les : ne sont pas permis dans les
| > | symboles en général, mais std::vector n'est pas un symbole
| > | général. Quant aux paramètres de types : c'est un type dérivé,
| > | de même que par exemple
| > « type dérivé » n'est plus utilisé depuis je ne sais quand.
| 2002, au moins:-).
1997 au moins.
| Mais je suppose que ton énoncé se limite au C++, où ça pourrait
| prêter réelement à confusion.
étant donné qu'on est sur fr.comp.lang.C++ et qu'il est fait mention
de classe dérivée, je ne sais pas ce que tu veux imaginer d'autres.
| (La norme C parle toujours des « derived types ».)
Mais la norme C ne parle pas de classe dérivée, n'est-il pas ?
| Je trouve que l'expression « composite » suggère un peu trop l'idée
| qu'il y a plus d'un type plus primitif en jeu (mais la suggestion
| est bien présente aussi dans « compound type », quoique moins
| forte). J'aime bien « type composé ». Mais je laisserai la décision
| à des vrais francophones.
| > | int* ; c'est plutôt normal que le nom du type de base se
| > | retrouve dans le type dérivé, il me semble. Et quant au
| > | constructeur : pourquoi est-ce qu'il faut en parler tout de
| > | suite ?
| > Dans ce context il faut distinguer le nom d'un type fundamental
| > (identificateur) du type qu'il désigne ; autrement cela devient
| > confus.
| Un type composé est composé sur la base d'un ou de plusieurs types ;
| on
M. de Lapalisse ne dit pas le contraire.
Mais cela passe, je crois, à côté de ce que je disais.
kanze@gabi-soft.fr writes:
| Gabriel Dos Reis <gdr@integrable-solutions.net> wrote in message
| news:<m3n090ujlv.fsf@uniton.integrable-solutions.net>...
| > kanze@gabi-soft.fr writes:
| > | Pourquoi, pourquoi et pourquoi. Le nom du type générique, c'est
| > | std::vector. C'est vrai que les : ne sont pas permis dans les
| > | symboles en général, mais std::vector n'est pas un symbole
| > | général. Quant aux paramètres de types : c'est un type dérivé,
| > | de même que par exemple
| > « type dérivé » n'est plus utilisé depuis je ne sais quand.
| 2002, au moins:-).
1997 au moins.
| Mais je suppose que ton énoncé se limite au C++, où ça pourrait
| prêter réelement à confusion.
étant donné qu'on est sur fr.comp.lang.C++ et qu'il est fait mention
de classe dérivée, je ne sais pas ce que tu veux imaginer d'autres.
| (La norme C parle toujours des « derived types ».)
Mais la norme C ne parle pas de classe dérivée, n'est-il pas ?
| Je trouve que l'expression « composite » suggère un peu trop l'idée
| qu'il y a plus d'un type plus primitif en jeu (mais la suggestion
| est bien présente aussi dans « compound type », quoique moins
| forte). J'aime bien « type composé ». Mais je laisserai la décision
| à des vrais francophones.
| > | int* ; c'est plutôt normal que le nom du type de base se
| > | retrouve dans le type dérivé, il me semble. Et quant au
| > | constructeur : pourquoi est-ce qu'il faut en parler tout de
| > | suite ?
| > Dans ce context il faut distinguer le nom d'un type fundamental
| > (identificateur) du type qu'il désigne ; autrement cela devient
| > confus.
| Un type composé est composé sur la base d'un ou de plusieurs types ;
| on
M. de Lapalisse ne dit pas le contraire.
Mais cela passe, je crois, à côté de ce que je disais.
writes:
| Gabriel Dos Reis wrote in message
| news:...
| > writes:
| > | Pourquoi, pourquoi et pourquoi. Le nom du type générique, c'est
| > | std::vector. C'est vrai que les : ne sont pas permis dans les
| > | symboles en général, mais std::vector n'est pas un symbole
| > | général. Quant aux paramètres de types : c'est un type dérivé,
| > | de même que par exemple
| > « type dérivé » n'est plus utilisé depuis je ne sais quand.
| 2002, au moins:-).
1997 au moins.
| Mais je suppose que ton énoncé se limite au C++, où ça pourrait
| prêter réelement à confusion.
étant donné qu'on est sur fr.comp.lang.C++ et qu'il est fait mention
de classe dérivée, je ne sais pas ce que tu veux imaginer d'autres.
| (La norme C parle toujours des « derived types ».)
Mais la norme C ne parle pas de classe dérivée, n'est-il pas ?
| Je trouve que l'expression « composite » suggère un peu trop l'idée
| qu'il y a plus d'un type plus primitif en jeu (mais la suggestion
| est bien présente aussi dans « compound type », quoique moins
| forte). J'aime bien « type composé ». Mais je laisserai la décision
| à des vrais francophones.
| > | int* ; c'est plutôt normal que le nom du type de base se
| > | retrouve dans le type dérivé, il me semble. Et quant au
| > | constructeur : pourquoi est-ce qu'il faut en parler tout de
| > | suite ?
| > Dans ce context il faut distinguer le nom d'un type fundamental
| > (identificateur) du type qu'il désigne ; autrement cela devient
| > confus.
| Un type composé est composé sur la base d'un ou de plusieurs types ;
| on
M. de Lapalisse ne dit pas le contraire.
Mais cela passe, je crois, à côté de ce que je disais.
"Michel Michaud" wrote in message
news:<OvfLb.72200$...Ceci dit, ce n'est pas la seule utilité : que ça paraisse bon ou
mauvais aux yeux de certains, le passage de paramètre de sortie en
C++ est typiquement fait par des références et il est normal de
renvoyer une référence à partir d'une fonction quand c'est utile.
Là, je ne suis pas tellement d'accord. Dans l'ensemble, la référence
Dans ces deux cas, des pointeurs pourraient être utilisés, mais la
syntaxe est alors moins naturelle... sauf pour ceux qui viennent
de C
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<OvfLb.72200$BA6.1460191@news20.bellglobal.com>...
Ceci dit, ce n'est pas la seule utilité : que ça paraisse bon ou
mauvais aux yeux de certains, le passage de paramètre de sortie en
C++ est typiquement fait par des références et il est normal de
renvoyer une référence à partir d'une fonction quand c'est utile.
Là, je ne suis pas tellement d'accord. Dans l'ensemble, la référence
Dans ces deux cas, des pointeurs pourraient être utilisés, mais la
syntaxe est alors moins naturelle... sauf pour ceux qui viennent
de C
"Michel Michaud" wrote in message
news:<OvfLb.72200$...Ceci dit, ce n'est pas la seule utilité : que ça paraisse bon ou
mauvais aux yeux de certains, le passage de paramètre de sortie en
C++ est typiquement fait par des références et il est normal de
renvoyer une référence à partir d'une fonction quand c'est utile.
Là, je ne suis pas tellement d'accord. Dans l'ensemble, la référence
Dans ces deux cas, des pointeurs pourraient être utilisés, mais la
syntaxe est alors moins naturelle... sauf pour ceux qui viennent
de C
Loïc Joly writes:
| > J'aime
| > bien « type composé ». Mais je laisserai la décision à des vrais
| > francophones.
|
| "Type composé" a l'avantage de faire un parallèle avec l'expression
| mot composé, et un int * s'écrit bien de façon semblable à un
| "haut-parleur", et pourtant dans les deux cas, l'objet référé n'est
| pas l'association des différents éléments en jeu, mais une autre
| notion.
Tiens. Tu maintiens la même chose pour "X", où
struct X { };
ou
typedef int* X;
?
Loïc Joly <loic.actarus.joly@wanadoo.fr> writes:
| > J'aime
| > bien « type composé ». Mais je laisserai la décision à des vrais
| > francophones.
|
| "Type composé" a l'avantage de faire un parallèle avec l'expression
| mot composé, et un int * s'écrit bien de façon semblable à un
| "haut-parleur", et pourtant dans les deux cas, l'objet référé n'est
| pas l'association des différents éléments en jeu, mais une autre
| notion.
Tiens. Tu maintiens la même chose pour "X", où
struct X { };
ou
typedef int* X;
?
Loïc Joly writes:
| > J'aime
| > bien « type composé ». Mais je laisserai la décision à des vrais
| > francophones.
|
| "Type composé" a l'avantage de faire un parallèle avec l'expression
| mot composé, et un int * s'écrit bien de façon semblable à un
| "haut-parleur", et pourtant dans les deux cas, l'objet référé n'est
| pas l'association des différents éléments en jeu, mais une autre
| notion.
Tiens. Tu maintiens la même chose pour "X", où
struct X { };
ou
typedef int* X;
?
M. de Lapalisse ne dit pas le contraire.
(Un de ces jours, il va falloir que quelqu'un m'explique qui est ce M.
de Lapalisse dont tu parles de temps en temps. D'après les contextes, je
crois qu'il y a une subtilité de la culture française, ou francophone,
qui m'échappe.)
M. de Lapalisse ne dit pas le contraire.
(Un de ces jours, il va falloir que quelqu'un m'explique qui est ce M.
de Lapalisse dont tu parles de temps en temps. D'après les contextes, je
crois qu'il y a une subtilité de la culture française, ou francophone,
qui m'échappe.)
M. de Lapalisse ne dit pas le contraire.
(Un de ces jours, il va falloir que quelqu'un m'explique qui est ce M.
de Lapalisse dont tu parles de temps en temps. D'après les contextes, je
crois qu'il y a une subtilité de la culture française, ou francophone,
qui m'échappe.)