Vectoren unter C?

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Vectoren unter C?

Beitrag von cloidnerux » Mo Dez 22, 2008 10:31 pm

http://www.cplusplus.com/reference/stl/vector/
Hallo, ich mal wieder.
Meine heutige frage lautet: Wie funktioniert ein "vector" unter C++? und kann man den auch unter C nutzen?
Zum einen würde ich das für den Aeris-kernel brauchen, zum anderen würde mihc das einfach für später Interessieren.

THX im vorraus.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Vectoren unter C?

Beitrag von Kerli » Mo Dez 22, 2008 11:15 pm

cloidnerux hat geschrieben:Meine heutige frage lautet: Wie funktioniert ein "vector" unter C++?
Ein Vektor hat einfach intern ein dynamisches Array, das bei Bedarf in einen neuen größeren freien Speicherblock kopiert wird. Da das kopieren viel Zeit braucht, wird der Platz meistens Blockweise reserviert so, dass meistens etwas mehr Platz reserviert wird als eigentlich benötigt wird. Deshalb braucht ein vector meistens etwas mehr Speicher als normale Arrays, hat aber beinahe gleich langen Zugriffszeiten. Also ein Array mit ein paar Komfortfunktionen.
cloidnerux hat geschrieben:und kann man den auch unter C nutzen?
Da er Teil der STL ist und daher auch auf Templates basiert, die ja erst in C++ eingeführt wurden, ist es schwer diese auch in C zu verwenden. Du kannst dir nur mit C-Mitteln eine eigene Implementation schreiben.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Antworten