Toon posts:

[C++] dynamische lijst

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zou een programma willen maken waarmet ik een aantal producten
in een soort van array zet, maar als ik nu bv neem lijst[100] neem en er komt later
product 101 bij moet ik dan direct met malloc werken of iets anders? Hoe wordt dit eigenlijk gedaan door "gevorderde programmeurs"?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 20:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

std::vector of std::list

de eerste is een arrayimplementatie, die idd een nieuwe array alloceert als ie groter moet worden (hoeft niet per se per element, hij kan bijvoorbeeld alvast een aantal nieuwere elementen erbij alloceren). De ander is een gelinkte lijst, die elementen dmv pointers aan elkaar knoopt.

Laatst gebruikte ik overigens een combinatie van die 2 (was wel C overigens, geen C++), waarbij ik hele lange character strings aan elkaar moest knopen. Daarvoor gebruikte ik een gelinkte lijst van 4096 byte lange buffers. Als een buffer vol was dan werd er een nieuwe gealloceerd en die toegevoegd aan de lijst

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Deze containers vallen dus onder de STL. Een simpel voorbeeldje is
C++:
1
2
3
4
5
6
7
#include <vector>

std::vector<int> lijst;
for(int i = 0; i < 10; i++)
{
    lijst.push_back(i*i);
}

Hierin maak je een vector(=dynamische array) en stop je daar 10 nieuwe waardes in. Van tevoren hoef je dus geen aantal aan te geven.

Zoeken op STL in google moet je verder op weg kunnen helpen.

Verwijderd

Topicstarter
ok bedankt

  • Akerboom
  • Registratie: Juni 2001
  • Laatst online: 29-07 13:20

Akerboom

Codito, ergo sum

Dit wordt behandeld in dag 2 van de 3-daagse C++ cursus, waar heb jij C++ geleerd? :+
Autodidact zeker? (met een beet GoT support)

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 12:58
Even handige linkjes spuien:
http://www.sgi.com/tech/stl/List.html
http://www.dinkumware.com...der.aspx?b=p/&h=list.html

Het is wel reference documentatie; het zijn dus geen tutorials. Op de STL website (die een stuk minder irritant is ook) staat echter wel aardig wat uitleg (ook op de andere pagina's).

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
.oisyn schreef op 25 November 2002 @ 00:49:
std::vector of std::list

Laatst gebruikte ik overigens een combinatie van die 2 (was wel C overigens, geen C++), waarbij ik hele lange character strings aan elkaar moest knopen. Daarvoor gebruikte ik een gelinkte lijst van 4096 byte lange buffers. Als een buffer vol was dan werd er een nieuwe gealloceerd en die toegevoegd aan de lijst
Da's bijna een std::deque in C++, alleen is een deque wel random-access.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

TormentoR schreef op 25 November 2002 @ 01:11:
Dit wordt behandeld in dag 2 van de 3-daagse C++ cursus, waar heb jij C++ geleerd? :+
Autodidact zeker? (met een beet GoT support)
Ik werk ruim 3 jaar als professioneel C++ programmeur, doe al 5 jaar C++ op verschillende platformen, programmeer in totaal zo'n 18 jaar ondertussen en heb in al die tijd nog nooit een STL-class geinstantieerd.

Oftewel: als je niks nuttigs te zeggen hebt, zeg dan niks.

Professionele website nodig?

Pagina: 1