[gelöst] Zuweisung von Objekten: Zeiger oder Adresse

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Zuweisung von Objekten: Zeiger oder Adresse

Beitrag von Socke »

mschnell hat geschrieben:
af0815 hat geschrieben:Ich liebe an Pascal das Verhalten, das ich mich um meine Objekte kümmern muß, da da das Verhalten sehr vorhersehbar ist.
Der Garbage--Collector kann natürlich riesige Wartezeiten produzieren. Die Philisophie bei .NET ist: wir haben sehr viel RAM und brauchen keine Garbage-Collect zu machen bevor das Programm beendet wird (oder der Rechner abstürzt :twisted: ).

-Michael
Sowas in der Art gibts ja bei jeder (Script-)Sprache, in der man sich nicht um den Heap kümmern muss. Bei Scripts weiß der Interpreter am Ende immer noch, was freigegeben werden muss, ohne dass sich der Schreiber darum kümmern müsste. Ich denke, ein Programmierer sollte sich selbst um seinen Heap kümmern können. Wir könnten natürlich auch gleich alles automatisieren und unsere Programme sich selbst schreiben lassen.

Ich hätte da noch eine rhetorische Frage: Sind wir nicht vielleicht ein bisschen off-Topic? :shock:

MfG Socke
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Zuweisung von Objekten: Zeiger oder Adresse

Beitrag von Scotty »

Socke hat geschrieben:Sind wir nicht vielleicht ein bisschen off-Topic?
Ich bin als TE nicht wenig verwirrt. Aber das ist gut so, da ich vielleicht irgendwann diese Möglichkeiten weiter eruieren werde. Mein Problem ist gelöst - Zeiger sind Zeiger.
In meinem Programm war an anderer Stelle ein Fehler. Dummerweise kann FP bzw. der Debugger unter Linux nicht mal im Ansatz, was Delphi kann. Zum Beispiel kommt bei einem byte overflow das Assemblerfenster.

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Zuweisung von Objekten: Zeiger oder Adresse

Beitrag von Socke »

Scotty hat geschrieben:
Socke hat geschrieben:Sind wir nicht vielleicht ein bisschen off-Topic?
Ich bin als TE nicht wenig verwirrt. Aber das ist gut so, da ich vielleicht irgendwann diese Möglichkeiten weiter eruieren werde. Mein Problem ist gelöst - Zeiger sind Zeiger.
In meinem Programm war an anderer Stelle ein Fehler. Dummerweise kann FP bzw. der Debugger unter Linux nicht mal im Ansatz, was Delphi kann. Zum Beispiel kommt bei einem byte overflow das Assemblerfenster.
Manchmal frage ich mich, warum Zeiger in ObjectPascal einer so inkonsistenten Syntax folgen. Objektvariablen sind Zeiger, jedoch werden sie syntaktisch wie Record-Variablen (a.b) verwendet. Ein Zeiger auf ein Record (man kann sich auch objektähnliche Records basteln) müssen aber stets wie Zeiger auf einfache Datentypen dereferenziert (a^.b) werden. Auch ärgert mich die inkonsistente Handhabung einiger Objekt-Eigenschaften einiger Klassen. Teilweise wird beim setzen eines neuen wertes die entsprechende Assign-Methode aufgerufen, teilweise muss man selbst die Methode aufrufen und teilweise kann man das Objekt-Feld einfach überschreiben.

Änfänger könnten dadurch sicherlich einige Speicherlecks verhindern (auch ich habe einst einfach Zeiger überschrieben).

Mein Lazarus (REv 19561M) hat bereits eine Assembler-Ansicht, aber die ist bei weitem nicht so übersichtlich wie die von meinem Delphi 7

MfG Socke
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten