Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Konvention typename und class

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.09.2004, 11:09 Uhr
~Dirk80
Gast


Hi,

ich beschäftige mich gerade mit Templates. Ich weiß, dass die Verwendung von typename und class ansich keinen Unterschied macht, d.h. folgender Code bewirkt dasselbe.


C++:
template<typename T> T foo() { //... }




C++:
template<class T> T foo() { //... }



Aber ich habe schon öfters gehört, dass es eine Konvention für die Verwendung von typename und class gibt. An diese würde ich mich gerne halten. Und bislang habe ich leider nur viele verschiedene Aussage über diese Konvention gehört.
Manche sagen, dass class veraltet sei. Andere wiederum sagen, dass class nur für benutzerdefnierte Typen und typename für alle Typen, also auch die einfachen eingebauten Typen wie z.B. int steht.
Naja, wie ihr seht, habe ich keine Ahnung, wie die richtige Konvention lautet.
Ich hoffe, dass ihr da Licht ins Dunkel bringen könnt.

Vielen Dank schonmal im Voraus

Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.09.2004, 12:12 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich denke, Konventionen gibt es viele.
Ich persönlich halte mich an die Regel, daß ich class nur dann verwende, wenn man auch wirklich nur Classen einsetzen daraf, typename hingegen, wenn man auch Basisdatentypen wie zB char, int, double usw. verwenden darf. Letztlich ist das aber recht willkürlich
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.09.2004, 13:50 Uhr
stephanw
localhorst


Konvention hab ich keine, virtuals Idee ist sicher sinnvoll. Aber völlig egal ist das glaub ich nicht. Hab da was im Hinterkopf, dass man einen Bezeichner explizit als "typename" deklarieren kann/muss, um Compile-Probleme zu vermeiden. Weiß ich aber grad nicht genau...
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.09.2004, 14:10 Uhr
(un)wissender
Niveauwart


Das was du meinst gilt nur bei der Variablendefinition innerhalb von Template-Blöcken.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.09.2004, 14:52 Uhr
stephanw
localhorst


Ja, das meine ich. Wollt ja nur sagen, dass typename nicht überflüssig ist
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.09.2004, 15:50 Uhr
(un)wissender
Niveauwart


Hat auch niemand behauptet.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.09.2004, 17:17 Uhr
~Dirk80
Gast


Hi,

vielen Dank für die schnellen Antworten. Ich werde mich in Zukunft dann auch an diese Konvention halten. Ich denke auch, dass es im Grunde genommen egal ist, welche Konvention man verwendet. Wichtig ist nur, wenn man sowohl typename als auch class verwendet, dann ein System dahintersteckt.
Ich habe gerade mal in mein Buch geschaut. Dort halten sie sich, an die von virtual genannte Konvention.

Gruß

Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: