eindeutige ID - Umsetzung



  • hmm,

    soweit ich weiß kann man Programme doch immer nur entweder für 32 bit ODER für 64 BIT compilieren, also währe das ja nur eine Compiler If Frage um das "Problem" zwischen 4 und 8 byte zu lösen, aber ich schaffs nicht das int bzw. long auszulesen, wie geht das?

    Gruß
    Scarabol



  • nimm einfach long, der wächst mit.



  • Tut mir leid Leute, ich kapier einfach nicht wie ihr das meint, würde mich riesig über nen kurzen Codeschnippsel freuen, wie ich es schaffe aus die Speicheradresse der long a in long b zu speichern???

    So?

    long a = 10;
    long * b = &a;
    

    Was ist wenn a eine Struktur verwendet?

    struct1 a.x = 10;
    struct2 b.z = 20;
    long * c = &a bzw = &b;
    

    Gruß
    Scarabol



  • vielleicht sowas?

    long a = 10;
    long b = reinterpret_cast<long>(&a);
    


  • Mist zu langsam 🙂
    Vielen Dank!!!!

    Ihr seid Spitze!!!

    [trash]
    hmm, ich denke ich habs:

    long id = long(&projektile);
    

    Richtig so?
    [/trash]

    Gruß
    Scarabol



  • So nächstes Problem 🙂

    Also ich verwende eine LinkedList, dazu gehört, dass ich einen Iterator habe, dieser zeigt auf ein Element der Liste. Problem ist jetzt das der Link zu dem ListenElement als Privat makiert ist, ergo hab ich erstma keinen Zugriff darauf.

    Kann ich das ändern, ich hab von dem Iterator nur die Headerdatei?
    Was passiert, wenn ich den Link zu dem Element in den Public Bereich verschiebe?

    Eigentlich will ich ja nur lesen, also brauch ich doch keinen Vollzugriff, C++ müsste mich nur mal kurz draufschauen lassen 😉

    Gruß
    Scarabol



  • also wenn als ID die speicheradresse vom server genommen wird, was macht der client mit dieser ID? der hat ja an dieser adresse nix. hat der nicht eine kopie des objekts im speicher? wie findet der anhand der ID seine kopie?
    brauchste die IDs auch zum speichern von spielständen?



  • Also das ganze funktioniert so:

    Der Server schickt dem Client ne Nachricht die sieht ca so aus:
    "&s10,20,30,40&\0"

    Der Client zerlegt die wieder und erährt daraus:
    s => Die Daten sind von einem Spieler
    10 => Spieler.id = 10;
    20,30,40 => Spieler.position = 20,30,40;

    Nun checkt der Client seine Liste mit Spieler, ob er der Client bereits ein Objekt mit der ID id hat. Falls das der Fall ist aktualisiert er die Daten von diesem Objekt, falls nicht erstellt er einfach ein neues...

    Achso die Frage von mir hat sich erledigt ein Blick in den Header und auf die Rückgabewerte der Funktionen hat gerreicht, tja lesen bildet 😉

    Gruß
    Scarabol


Anmelden zum Antworten