pointer als integer intepretieren - integer als pointer interpretieren
-
Warum willst Du die Pointer auf Deine Objekte als integer in der Liste speichern? Warum nicht gleich die Pointer speichern? Und wenn Du ne Liste brauchst, dann benutze die STL. Dann brauchst Du nicht alles selber schreiben und die ist auch noch unabhängig vom Datentyp.
-
Und wieso soll void* an dieser Stelle Probleme machen? Und wieso soll int besser geeignet sein einen Pointer zu speichern? Ich empfehle dir ein gutes Buch/Tutorial zu dem Thema zu lesen.
-
thx, werd mich schon durchschlagen Mr.Bashar!
-
Da war ich wohl knapp zu spät dran!
Also, da hier void* sogar empfohlen wird (mehr oder weniger), werd ichs wohl oder übel benutzen.
Danke trotzdem für alle Hilfestellung
-
@ShirKahn
Du willst also ne Art Garbage Collector schreiben ... also wo man Objecte erzeugt, und die dann bei Nichtmehrgebrauchen loescht. Wenns geht noch einfach Loeschflag setzen, und wenn die CPU mal zeit hat, loescht sie dann wirklich ... oder so aehnlich ?
Weiss ned recht, ob das nen guter anfang fuer nen Einstieg ist.
Was aus deiner Fragestellung auch nicht hervorgeht, die Objecte die du loeschen willst, sind die vom gleichen typ oder aus ner AbleitungsHirarchie oder total wahlfrei ? :p
Wenn letzteres (denk ich mal, weil sonst fragst ned nach ner rueckwandlung von int zu pointer auf Klasse), dann viel spass !!! Weil zum loeschen vom Objekten braucht man nen typisierten Pointer, oder zumindest Basisklassenpointer und nen virtuellen Destruktor.
Ich persoenlich find GC's manchmal praktisch, unter c++ verwende ich sie eigentlich nie ...
Alternativen zu sind Smartpointer mit refZaehlung, oder normale typisierte container.Aber lass dich ned vom Ziel abbringen ...
Ciao ...
-
[quote="RHBaum"]Ich persoenlich find GC's manchmal praktisch, unter c++ verwende ich sie eigentlich nie ... /quote]
"eigentlich"? Was für GCs benutzt du denn manchmal?
-
Aber hallo, kann man von Pointertyp zu Pointertyp umwandeln!
Ein Pointer ist eine 32Bit-Zahl, die eine Stelle im Speicher ausgehend von einem Descriptor meint. Datenverlust kann es beim Umwandeln gar nicht geben!
Wenn also der Descriptor die Adresse 10 beschreibt, zeigt der Pointer auf die Adresse Pointer+10, um es salopp auszudrücken.
Die interpretation der Daten an den Folgeadresse liegt beim Programmierer!
Dass uns die meisten Programmiersprachen einen Teil dieser Interpretationsarbeit abnehmen, ist eine ganz andere Geschichte.
__
Grüße, DennisB
-
DennisB schrieb:
Aber hallo, kann man von Pointertyp zu Pointertyp umwandeln!
Ein Pointer ist eine 32Bit-Zahl, die eine Stelle im Speicher ausgehend von einem Descriptor meint. Datenverlust kann es beim Umwandeln gar nicht geben!
Wenn also der Descriptor die Adresse 10 beschreibt, zeigt der Pointer auf die Adresse Pointer+10, um es salopp auszudrücken.
Die interpretation der Daten an den Folgeadresse liegt beim Programmierer!
Dass uns die meisten Programmiersprachen einen Teil dieser Interpretationsarbeit abnehmen, ist eine ganz andere Geschichte.
__
Grüße, DennisBAch, du kannst für jede Architektur sagen, was ein Pointer genau ist? Herzlichen Glückwunsch. Wie groß ist noch mal ein Pointer auf z/OS?
-
Ok, erwischt, doofe Formulierung: Ich verwende Sie nie, und man braucht sie eigentlich auch nicht !
( unter C++ !!! )
Nen Typfreien GC wird es ja sicher so auch ned geben ... Mit der Hirachie der MFC(CObject) liese sich sicher sowas bauen. Der Nutzen ist ne andere Geschichte.
Ich bezweifle aber nicht, das irgendwer schon sowas implementiert hat ...Ciao ...
-
DennisB schrieb:
Ein Pointer ist eine 32Bit-Zahl
Chapter&Verse?
Mal im Ernst, solche Denkweisen sind mit Schuld daran, dass Linuxriba schon lange 64Bit kann, während Windowbajo damit nicht in die Pötte kommt.