C++:ziskanie pointera na struct z hodnoty konstanty v struct

Programovacie jazyky, rady, poradňa...
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

C++:ziskanie pointera na struct z hodnoty konstanty v struct

Príspevok od používateľa Fabo »

Zdar,

skusim vysvetlit problem od zaciatku, snad sa v tom niekto vyzna :) formalne vzdelanie v programovani nemam.

Pisem v C++ modul ktory ma, okrem ineho, umiestnit v hre nejaky objekt.

Mam definovanu strukturu ktora obsahuje definiciu a vlastnosti objektu. Jeden z jej clenov je konstanta requestID typu enum, dalsi je premenna objectID.

Objekt umiestnim pomocou funkcie AddObject (povedzme), pricom jednym z jej parametrov je Request ID. Samotna funkcia vracia hresult.

Okrem toho mi pride este struktura na callback, z ktorej viem okrem ineho vycitat ID objectu. Tuto strukturu viem jednoznacne priradit k objektu pomocou Request ID.

Existuje nieco, co mi vrati pointer na strukturu objektu ktora obsahuje konkretne Request ID? Tie su samozrejme unikatne pre kazdy objekt.
Rad by som priradil ID objektu do clena objectID danej strukturalnej premennej bez toho, aby som musel prechadzat rucne kazdu moznost Request ID enumu.

Nejake priklady kodu:

Kód: Vybrať všetko

struct struktura{
        int objectID,
        enum requestID,
        struct pozicia,
}


struktura dom = {NULL, REQUEST_DOM, poziciaDom}

struktura strom = {NULL, REQUEST_STROM, poziciaStrom}


//funkciu AddObject volam takto

AddObject(dom.pozicia, dom.requestID);
AddObject(strom.pozicia, strom.requestID);

//a vrati mi to strukturu cca v tomto tvare ktoru dalej spracuvam v callback funkcii

//{requestID, objectID}

//kde requestID je jedno z REQUEST_DOM a REQUEST_STROM a objectID chcem priradit do dom.objectID resp. strom.objectID

BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++:ziskanie pointera na struct z hodnoty konstanty v st

Príspevok od používateľa BX »

Neviem, či som pochopil úplne správne, tak ma keď tak oprav.

Bráni ti niečo predávať hre pointer na štruktúru? Ten zaberá rovnako veľa miesta, ako ID a jenoducho si tak z toho vytiahneš, čo potrebuješ.
Ak to nepôjde takto, tak to bude chcieť nejakú pomocnú vec na ukladanie dvojíc [RequestID, pointer na štruktúru]
To môže byť trebárs pole, alebo lepšie nejaká tabulka z STL (ak je ich naozaj veľa)
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: C++:ziskanie pointera na struct z hodnoty konstanty v st

Príspevok od používateľa Fabo »

Uvedomujem si ze som to napisal ako hotentot, holt samouk... neviem sa poriadne vyjadrit.

Brani mi to, ze hra pozaduje ako ID enum typ, pointer to nevezme.

Asi to budem musiet urobit pomocou tej nejakej pomocnej veci, aj ked som sa tomu chcel vyhnut.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++:ziskanie pointera na struct z hodnoty konstanty v st

Príspevok od používateľa BX »

Prečo sa tomu chceš vyhnúť?
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: C++:ziskanie pointera na struct z hodnoty konstanty v st

Príspevok od používateľa Fabo »

pretoze plnit to objektami bude neprogramator, tak mu to chcem co najviac zjednodusit...

aj ked ono vlastne toto ho nemusi trapit, to je pravda, toto moze ist mimo neho.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++:ziskanie pointera na struct z hodnoty konstanty v st

Príspevok od používateľa BX »

On to môže plniť stále rovnako, nie? Až potom, keď ti funkcia vráti requestID, tak ho nájdeš v tej svojej tabulke a priradíš tomu štruktúru.

No každopádne inak to nepôjde, tak sa s tým pohraj :)
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: C++:ziskanie pointera na struct z hodnoty konstanty v st

Príspevok od používateľa Fabo »

Najprv som myslel ze by musel tabulku plnit rucne on, ale potom ma napadlo ze to vlastne mozem plnit automaticky, kedze on nevola priamo AddObject funkciu, ale "medzifunkciu" vytvorObjekt(&dom) tak to mozem napchat do nej.
Napísať odpoveď