template
-
kann mir einer sagen was templates sind und wozu man es brauch?
-
templates gibt es in ANSI C nicht, dass ist eine C++ Sache. In C++ dienen Templates dazu um ein Konzept unabhängig vom Typ zu implementieren. Such mal bei google nach "generisches programmieren"
-
thx.
aber ich bin mir sicher das das prog was ich mache in c und nicht c++ ist!
-
Dann wirst Du dir was aus Makros zusammenbasteln müssen.
-
so kannst du das zB. machen
#include <stdio.h> //"Template" Code #define TEMPLATE_TAUSCHE(type) \ \ void type##tausche(type *a, type *b) { \ type c; \ c=*a; \ *a=*b; \ *b=c; \ } TEMPLATE_TAUSCHE(int); //Code erzeugen int main() { int a=2,b=4; printf("%d %d\n",a,b); inttausche(&a,&b); //Funktion benutzen printf("%d %d\n",a,b); return 0; }
-
Das klappt aber nicht mit Zeigern.
-
Wenn mit template nicht im Sinne von C++ gemeint ist, bedeutet template einfach Vorlage.
An ettlichen Stellen werden Programmieren / Kodieren Templates (Vorlagen) an die Hand gegeben wie sie bestimmte Aufgaben erledigen sollen. Das umfast So Dinge wie die At der Kommentierung, die Wahl der Variablennamen, die Anordnung von Deklarationen und Funktionen im Source code.
z.B. Aufbau eines C-Programms
Allgemeine Includes
ProgrammSpezifische Includes
Allgemeine Typedefs,
Allgemeine Strukturen,
Allgemeine Prototypen,
Allgemeine GlobaleAufgabenSpezifische Typedefs,
AufgabenSpezifische Strukturen,
AufgabenSpezifische Prototypen,
AufgabenSpezifische GlobaleAllgemeine Funktionen
Letzte allgemeine Funktion. int main(...)
{
}
AufgabenSpezifische Funktionen
....oder es wird sogar eine Beispielcode (Template) bereitgestellt, der die Firmenspezifischen Dinge schon
beinhaltet, so daß nur noch die Aufgabenspezifischen Dinge codiert werden müssen.
Hintergrund sind oftmals Wartbarkeit und Formale Vorgaben der Qualitätssicherung.
-
@cd9k
das bekommt man aber auch leicht hin mit aenderungen#define PTRTEMPLATE_FOO(type,ptr) \ void type##ptrfoo(type ptr a) { /*...*/ } PTRTEMPLATE_FOO(int,**);