Exploring the world by bicycle! cyclingsilk.wordpress.com
Kan je het iets beter uitleggen, ik heb geen idee wat je nou precies wilt...
Volgens mij wil hij runtime de naam van een variable kiezen. En dat kan niet.
He who knows only his own side of the case knows little of that.
std::map dan met een std::string, value pair.
Als het niet onder runtime kan moet je dus een database gebruiken. dit is in ons geval te omslachtig.
maar wel bedankt voor jullie reacties.
maar wel bedankt voor jullie reacties.
Exploring the world by bicycle! cyclingsilk.wordpress.com
Wow... Ik mis hier volgens mij een paar denkstappen. Als het niet runtime kan, kan je altijd nog een of andere mapping gebruiken (zie zoijar). Als je de boel ook persistent wilt hebben, onder die mapping, kan je dat ergens gaan opslaan.IJnte schreef op 05 oktober 2004 @ 10:27:
Als het niet onder runtime kan moet je dus een database gebruiken. dit is in ons geval te omslachtig.
En die opslag kan, eventueel, in een database... Maar het hoeft niet, simpelweg een file opslaan kan ook.
Je maakt een datatype (class of struct) met de benodigde variabelen erin. Als je gegevens wilt opslaan maak je een nieuwe class/struct aan en die initialiseer je met je data. Omdat je later deze gegevens terug wilt vinden op basis van de naam (zoals ik je verhaal begrijp) moet je een koppeling maken tussen die naam (een string) en de zojuist geinstantieerde class. Dit kan je op een aantal manieren doen. Ik zal er 2 beschrijven.
Na het instantieren van de class heb je een object.
Na het instantieren van de class heb je een object.
- Dat object voeg je toe aan een array (of vector, of list). Als je op basis van naam dit object weer wilt vinden, ga je alle elementen in de array af en vergelijkt de naam. Is de naam hetzelfde, heb je je object gevonden. Voordeel van deze methode is ehh... tja het is makkelijk te begrijpen. Nadeel is dat het langzaam is als je veel objecten in de array hebt staan. Ander nadeel is dat het makkelijker en sneller is met de volgende methode.
- Het object stop je in een associatief array / hashtable / dictionary. Er zijn een hoop woorden voor, maar het verschil in betekenis is in dit geval niet echt belangrijk. Deze datastructuren zorgen er voor dat je niet alle object hoeft af te lopen op zoek naar de juiste. Sommige kunnen aan de hand van de naam direct het goede object teruggeven, andere hoeven maar naar een paar objecten te kijken voor ze de goede hebben.
Belangrijkste is dat ze werken met key/value pairs. Je geeft aan een hashtable een string en een object om op te slaan. Als je later een object zoekt geef je de naam op. De hashtable haalt een leuk truukje uit op basis van de naam en geeft in 1x je object terug.
behalve dan dat de TS een groep variabelen heeft, dus misschien een multimap<string, value> nodig heeft.
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
Pagina: 1