 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Alain Cabiran Guest
|
Posted: Thu Oct 06, 2005 8:41 pm Post subject: typename vs class |
|
|
Bonjour,
je poursuis mes pérégrinations (touc ) et suis tombé sur boost::array
sur le site de jossutis et ceci :
template <typename T, std::size_t N>
class array {
.....
j'ai tellement lu template<class T> que je me suis posé la question
et n'ai pas trouvé de réponse/confirmation.
dans ce cas là, y'a-t-il une différence entre typename
et class ? je penses que non mais si je pouvais en être sûr ...
merci d'avance pour tout indice,
best regards,
Alain C.
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Thu Oct 06, 2005 8:44 pm Post subject: Re: typename vs class |
|
|
Alain Cabiran <pasdespam (AT) club-internet (DOT) fr> writes:
[...]
| Quote: | dans ce cas là, y'a-t-il une différence entre typename
et class ?
|
Non.
-- Gaby
|
|
| Back to top |
|
 |
Franck Branjonneau Guest
|
Posted: Thu Oct 06, 2005 10:15 pm Post subject: Re: typename vs class |
|
|
Alain Cabiran <pasdespam (AT) club-internet (DOT) fr> écrivait:
| Quote: | template <typename T, std::size_t N
dans ce cas là, y'a-t-il une différence entre typename
et class ? je penses que non mais si je pouvais en être sûr ...
|
Il n'y a aucune différence dans ce cas là.
--
Franck Branjonneau
|
|
| Back to top |
|
 |
Michel Michaud Guest
|
Posted: Thu Oct 06, 2005 11:53 pm Post subject: Re: typename vs class |
|
|
Dans le message 43458be5$0$461$7a628cd7 (AT) news (DOT) club-internet.fr,
Alain Cabiran <pasdespam (AT) club-internet (DOT) fr> a écrit :
| Quote: | template
class array {
[...]
dans ce cas là, y'a-t-il une différence entre typename
et class ? je penses que non mais si je pouvais en être sûr ...
|
Il n'y a pas de différence pour le compilateur. Note cependant
que certains utilisent « typename » lorsque n'importe quel type
peut être utilisé et « class » lorsqu'il faut un type qui
comporte certaines particularités (en principe une classe dans
ce cas). Mais rien ne vérifie ça au niveau du langage, ce n'est
qu'une convention discutable...
--
Michel Michaud [email]mm (AT) gdzid (DOT) com[/email]
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
|
|
| Back to top |
|
 |
David Deharbe Guest
|
Posted: Sat Oct 08, 2005 5:55 pm Post subject: Re: typename vs class |
|
|
Effectivement, en ce cas aucune différence. Certains recommandent
d'utiliser typename pour souligner que les types de bases du langage
peuvent être utilisés, et class dans le cas contraire.
Pour autant que je sache, typename est indispensable lorsqu'il est
nécessaire d'aider le compilateur à identifier que l'identificateur
qui suit est un nom de type; tandis que class est l'unique mot-clef
pour introduire une nouvelle classe, ou patron de classe.
David.
--
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Sat Oct 08, 2005 6:10 pm Post subject: Re: typename vs class |
|
|
On 8 Oct 2005 10:55:27 -0700, "David Deharbe" <deharbe (AT) gmail (DOT) com>:
| Quote: | tandis que class est l'unique mot-clef
pour introduire une nouvelle classe
|
Non. Tu oublies "struct".
Au fait, est-ce que "template <struct X>" est autorisé ?
|
|
| Back to top |
|
 |
Franck Branjonneau Guest
|
Posted: Sat Oct 08, 2005 8:26 pm Post subject: Re: typename vs class |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> écrivait:
| Quote: | On 8 Oct 2005 10:55:27 -0700, "David Deharbe" <deharbe (AT) gmail (DOT) com>:
tandis que class est l'unique mot-clef
pour introduire une nouvelle classe
Non. Tu oublies "struct".
|
Et union.
| Quote: | Au fait, est-ce que "template <struct X>" est autorisé ?
|
Non.
--
Franck Branjonneau <fasbjx (AT) free (DOT) fr>
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Sat Oct 08, 2005 10:45 pm Post subject: Re: typename vs class |
|
|
On Sat, 08 Oct 2005 22:26:27 +0200, Franck Branjonneau
<fasbjx (AT) free (DOT) fr>:
| Quote: | Au fait, est-ce que "template <struct X>" est autorisé ?
Non.
|
Une bizarrerie de plus. On n'est plus à une près...
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Sun Oct 09, 2005 1:31 pm Post subject: Re: typename vs class |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:
| Quote: | On 8 Oct 2005 10:55:27 -0700, "David Deharbe" <deharbe (AT) gmail (DOT) com>:
tandis que class est l'unique mot-clef
pour introduire une nouvelle classe
Non. Tu oublies "struct".
Au fait, est-ce que "template <struct X>" est autorisé ?
|
Non.
-- Gaby
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Sun Oct 09, 2005 1:31 pm Post subject: Re: typename vs class |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:
| Quote: | On Sat, 08 Oct 2005 22:26:27 +0200, Franck Branjonneau
[email]fasbjx (AT) free (DOT) fr[/email]>:
Au fait, est-ce que "template <struct X>" est autorisé ?
Non.
Une bizarrerie de plus.
|
Pourquoi ?
-- Gaby
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Sun Oct 09, 2005 3:35 pm Post subject: Re: typename vs class |
|
|
On 09 Oct 2005 15:31:52 +0200, Gabriel Dos Reis
<gdr (AT) integrable-solutions (DOT) net>:
| Quote: | | >> Au fait, est-ce que "template <struct X>" est autorisé ?
| Une bizarrerie de plus.
Pourquoi ?
|
Les mots "class" et "struct" ont des rôles tellement proches[*], que
je trouve étonnant que cette "symétrie" soit brisée dans les
déclarations de templates.
[*] En fait, dans mon code, on pourrait remplacer "class" par "struct"
un peu partout sans rien changer au code (car j'explicite
systématiquement "private" et "public").
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Mon Oct 10, 2005 1:56 pm Post subject: Re: typename vs class |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:
| Quote: | On 09 Oct 2005 15:31:52 +0200, Gabriel Dos Reis
[email]gdr (AT) integrable-solutions (DOT) net[/email]>:
| >> Au fait, est-ce que "template <struct X>" est autorisé ?
| Une bizarrerie de plus.
Pourquoi ?
Les mots "class" et "struct" ont des rôles tellement proches[*], que
|
Mais tu viens juste d'admettre que ce n'est pas le cas, puisqu'il y a
des contextes où ces mots clés n'ont pas les même rôles.
| Quote: | je trouve étonnant que cette "symétrie" soit brisée dans les
déclarations de templates.
|
Mais on n'a pas encore établi qu'il y avait « symétrie ».
-- Gaby
|
|
| Back to top |
|
 |
John Deuf Guest
|
Posted: Fri Oct 14, 2005 8:18 am Post subject: Re: typename vs class |
|
|
Fabien LE LEZ a écrit :
| Quote: | On Sat, 08 Oct 2005 22:26:27 +0200, Franck Branjonneau
[email]fasbjx (AT) free (DOT) fr[/email]>:
Au fait, est-ce que "template <struct X>" est autorisé ?
Non.
Une bizarrerie de plus. On n'est plus à une près...
|
Moi je le trouve rigolo ce "typename", parce que c'est l'histoire de
l'arroseur arrosé.
Bjarne a tellement surchargé la syntaxe du C++ (15 significations par
mot-clé), qu'à la fin même les compilateurs n'y comprenaient plus
rien. Si bien que -ironie du sort-, il a fallu introduire un nouveau
mot-clé pour lever les ambiguités.
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Fri Oct 14, 2005 12:27 pm Post subject: Re: typename vs class |
|
|
"John Deuf" <franvalent (AT) free (DOT) fr> writes:
| Quote: | Fabien LE LEZ a écrit :
On Sat, 08 Oct 2005 22:26:27 +0200, Franck Branjonneau
[email]fasbjx (AT) free (DOT) fr[/email]>:
Au fait, est-ce que "template <struct X>" est autorisé ?
Non.
Une bizarrerie de plus. On n'est plus à une près...
Moi je le trouve rigolo ce "typename", parce que c'est l'histoire de
l'arroseur arrosé.
Bjarne a tellement surchargé la syntaxe du C++ (15 significations par
mot-clé), qu'à la fin même les compilateurs n'y comprenaient plus
rien. Si bien que -ironie du sort-, il a fallu introduire un nouveau
mot-clé pour lever les ambiguités.
|
nonsense.
-- Gaby
|
|
| Back to top |
|
 |
Stan Guest
|
Posted: Fri Oct 14, 2005 1:19 pm Post subject: Re: typename vs class |
|
|
"Gabriel Dos Reis" <gdr (AT) integrable-solutions (DOT) net> a écrit dans le message de
news: [email]m3psq8i8qe.fsf (AT) uniton (DOT) integrable-solutions.net[/email]...
| Quote: | "John Deuf" <franvalent (AT) free (DOT) fr> writes:
| Fabien LE LEZ a écrit :
|
| > On Sat, 08 Oct 2005 22:26:27 +0200, Franck Branjonneau
| > <fasbjx (AT) free (DOT) fr>:
|
| > >> Au fait, est-ce que "template <struct X>" est autorisé ?
|
| > >Non.
|
| > Une bizarrerie de plus. On n'est plus à une près...
|
| Moi je le trouve rigolo ce "typename", parce que c'est l'histoire de
| l'arroseur arrosé.
| Bjarne a tellement surchargé la syntaxe du C++ (15 significations par
| mot-clé), qu'à la fin même les compilateurs n'y comprenaient plus
| rien. Si bien que -ironie du sort-, il a fallu introduire un nouveau
| mot-clé pour lever les ambiguités.
nonsense.
-- Gaby
|
Gaby, plus laconique que jamais...
--
-Stan
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|