Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » FAQ zu Tamplates

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
02.06.2005, 15:29 Uhr
~Nimbo
Gast


Hi Leute,
Ich hab mir mal alle FAQs durchgelesen und find sie alle ziemlich gelungen. Da ich erst seid 2 Jahren C++ programmiere finde ich hier immer neue anregungen und Verbesserungen. (übrigens im ganzen Forum). Was mir aber fehlt wäre eine schöne erklärung zu Tamplates. Hätte nicht einer mal lust und zeit das in die FAQs aufzunehmen. Ich glaube gerade das ist eine Sache in C++ die viel erklärungsbedarf hat, auch bei mir! Auf jeden fall danke für dieses tolle forum und weiter so! Ihr seid spitze!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.06.2005, 16:16 Uhr
virtual
Sexiest Bit alive
(Operator)


Danke fürdie Blumen.
Aber leider dürfte ein FAQ Eintrag allgmein zu Templates sich entweder in Allgmeinplätzen verlieren oder aber exterm lang sein: Templates sind integrale Bestandteil von C++, recht komplex und vielseitig. Was willst Du denn wissen?
--
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
02.06.2005, 16:32 Uhr
~Nimbo
Gast


Z.B. was bedeutet für dich" integrale Bestandteil von C++, "? Mich würde interessieren wofür es sinnvoll ist Tamplates zu benutzen und wie man sie benutzt! Hab bis her schon vile Progs geschrieben aber immer ohne Tamplates und jetzt frage ich mich ob dieses nicht für meine nächsten projekte sinnvoll wäre diese einzusetzen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
02.06.2005, 17:05 Uhr
0xdeadbeef
Gott
(Operator)


templates benutzt man immer da, wo man dieselbe Sache für verschiedene Typen machen will. Auf die Art muss man nicht das selbe immer wieder schreiben. Wenn du schon zwei Jahre programmierst, geb ich dir am besten ein Beispiel, das ich mal geschrieben habe: www.dev-geeks.org/index.php?module=scripts&sub=2&action=show&id=50

Man kann templates auch mit Zahlen templatisieren. Das ist zwar meistens ziemlicher overkill, kann aber auch sehr nützlich sein, wie zum Beispiel da: http://tut-framework.sourceforge.net/
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.06.2005, 17:37 Uhr
~Nimbo
Gast


Hab mir das mal angeschaut aber das wirft dann eine andere frage auf! Wofür Tamplates. Ich meine könnte man das nicht auch mit einer KLasse machen? Was ist da der spezielle unterschied? Sorry wenn das jetzt blöde fragen sind aber will ich es echt verstehen und sehr gerne viel dazu lernen!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.06.2005, 17:43 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Bei Templates kannst du einen variablen Variablen Typ benutzten. D.h. du sagst erst beim anlegen der Instanz ob das Template jetzt z.B. ein int oder ein double verwenden soll.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
02.06.2005, 19:42 Uhr
0xdeadbeef
Gott
(Operator)


Ist nur ne kleine Sache, aber "Tamplates" gibt es nicht. Die Dinger nennen sich "Templates", das ist Englisch für "Vorlagen". Und genau darum gehts, man schreibt Vorlagen, die der Compiler dann für einen bestimmten Typ bzw. eine bestimmte Zahl konkretisiert. Damit spart man sich den Aufwand, alles doppelt und dreifach zu schreiben, was den Code auch deutlich wartbarer macht.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
03.06.2005, 09:28 Uhr
Th



Hi Nimbo,

wenn du schon 2 Jahre C++ programmierst, dann hast du doch sicherlich schon von der STL gehört bzw. sie benutzt, also z.B. vector, list, map, ...
Dies sind Containerklassen, d.h. ihre Elemente können von beliebigen Typen sein, d.h. bei der Benutzung (Instantiierung) mußt du den konkreten Typ angeben, z.B. vector<string> oder map<int, X> wobei X eine eigene Klasse ist.

string z.B. ist selber ein template: basic_string<char, ...> d.h. die Elemente dieser Klasse sind chars. (wstring ist dann als basic_string<wchar, ...> definiert).

Ein anderer Anwendungsfall für Templates sind Funktionen bzw. Memberfunktionen, z.B.

C++:
template<typename T>
const T& max(const T& a, const T& b)
{
   return a>b? a : b;
}


Anstatt jetzt eine Maximumfunktion für jeden Typ zu schreiben, generiert der Compiler sie für dich, wenn du z.B. max(1, 4) schreibst.
 
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: