 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Ullrich von Bassewitz Guest
|
Posted: Sat Feb 26, 2005 6:28 pm Post subject: Re: [OT]Existiert für C soetwas wie die STL für C++? |
|
|
Denis Knauf <deacXxXxX (AT) linux-ist-pleite (DOT) de> wrote:
| Quote: | templates gibt es in c nicht, denn die setzen wiederum klassen vorraus, die gibt
es in c auch nicht.
|
C++ Templates setzen keine Klassen voraus. Sie funktionieren auch mit Klassen,
benoetigen aber nicht unbedingt welche.
Gruss
Uz
Followup-To: de.comp.lang.iso-c++
--
Ullrich von Bassewitz [email]uz (AT) spamtrap (DOT) musoftware.de[/email]
19:23:38 up 31 days, 8:55, 11 users, load average: 0.00, 0.00, 0.00
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Denis Knauf Guest
|
Posted: Sun Feb 27, 2005 6:54 pm Post subject: Re: [OT]Existiert für C soetwas wie die STL für C++? |
|
|
Ullrich von Bassewitz wrote:
| Quote: | Denis Knauf <deacXxXxX (AT) linux-ist-pleite (DOT) de> wrote:
templates gibt es in c nicht, denn die setzen wiederum klassen vorraus, die
gibt es in c auch nicht.
C++ Templates setzen keine Klassen voraus. Sie funktionieren auch mit Klassen,
benoetigen aber nicht unbedingt welche.
doch, templates setzen klassen vorraus, denn es sind klassen. |
bei der nutzung der templates werden klassen benoetigt, nur die nutzung ist
nicht auf klassen beschraenkt. aber das ist egal, denn es ging um c-funktionen.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Rolf Magnus Guest
|
Posted: Sun Feb 27, 2005 11:33 pm Post subject: Re: [OT]Existiert für C soetwas wie die STL für C++? |
|
|
Denis Knauf wrote:
| Quote: | Ullrich von Bassewitz wrote:
Denis Knauf <deacXxXxX (AT) linux-ist-pleite (DOT) de> wrote:
templates gibt es in c nicht, denn die setzen wiederum klassen vorraus,
die gibt es in c auch nicht.
C++ Templates setzen keine Klassen voraus. Sie funktionieren auch mit
Klassen, benoetigen aber nicht unbedingt welche.
doch, templates setzen klassen vorraus, denn es sind klassen.
|
Also ist das Folgende eine Klasse?
template <typename T>
T& max(T& lhs, T& rhs)
{
return lhs > rhs ? lhs : rhs;
}
| Quote: | bei der nutzung der templates werden klassen benoetigt,
|
Wofür?
| Quote: | nur die nutzung ist nicht auf klassen beschraenkt.
|
Hä?
| Quote: | aber das ist egal, denn es ging um c-funktionen.
|
Der Grund dafür, daß es in C keine Templates gibt, ist dennoch nicht das
Nichtvorhandensein von Klassen.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Olaf Krzikalla Guest
|
Posted: Mon Feb 28, 2005 9:42 am Post subject: Re: [OT]Existiert für C soetwas wie die STLfür C++? |
|
|
Hi,
Denis Knauf schrieb:
| Quote: | doch, templates setzen klassen vorraus, denn es sind klassen.
??? |
| Quote: | bei der nutzung der templates werden klassen benoetigt,
??? |
Genug mit dem Kopf geschüttelt. Das, was bei uns Klassen sind, fängt bei
Euch mit 'typedef struct {' an. Das Konzept ist im Prinzip dasselbe
(AFAIK kann man in C mittlerweile sogar 'struct foo {' schreiben). Und
das, was bei uns Templates sind, sind bei Euch Makros. Tatsächlich sind
Templates aus Makros entstanden, stellen allerdings eine eine echte
Weiterentwicklung dar (Stichwort (partielle) Spezialisierung z.B.).
Auf jeden Fall gehen Deine Aussagen komplett am Thema vorbei.
MfG
Olaf Krzikalla
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
dietmar_kuehl@yahoo.com Guest
|
Posted: Mon Feb 28, 2005 3:05 pm Post subject: Re: [OT]Existiert für C soetwas wie die STL für C++? |
|
|
Ullrich von Bassewitz wrote:
| Quote: | C++ Templates setzen keine Klassen voraus. Sie funktionieren auch mit
Klassen,
benoetigen aber nicht unbedingt welche.
|
Das ist soweit schon richtig, allerdings gibt es einige Sachen, die
effektiv benoetigt werden, um generisch programmieren zu koennen,
zumindest in der Form, wie es in C++ STL gemacht wird. Die fundamentale
Voraussetzung ist, dass abhaengig vom Template-Argument die gleiche
Notation zum Template passende Funktionalitaet bedeutet. Das kann in
C++ entweder ein Member des Template-Arguments oder eine ueberladene
Funktion sein (oder beides: ein ueberladener Member).
In C gibt es weder Member-Funktionen noch die Moeglichkeit, Funktionen
zu ueberladen (soweit ich weiss; lediglich einige numerisch Funktionen
sind in der C Standardbibliothek ueberladen). Ein Template-Mechanismus
fuer Funktionen wuerde in C eine Moeglichkeit schaffen, Ueberladung zu
verwenden, allerdings nur fuer entsprechende Template funktionen. Das
waere sicher moeglich, ist aber derzeit in C nicht vorgesehen. Ob man
alleine auf dieser Basis Generische Programmierung a la STL hinbekommt
weiss ich aber nicht: man haette zwar statisch Polymorphie, aber
Generische Programmierung braucht doch noch einiges mehr, etwa die
Moeglichkeit, assoziierte Typen ableiten zu koennen (etwa aus
geschachtelten typedefs).
--
<mailto:dietmar_kuehl (AT) yahoo (DOT) com> <http://www.dietmar-kuehl.de/>
<http://www.contendix.com> - Software Development & Consulting
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| 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
|
|