![]() |
AW: und C++ Speicherreservierung von Instanzen/Obijekten // (MS visual studio 2013)
Zitat:
wenn TAuto keine Klasse wäre, würde
Delphi-Quellcode:
nicht funktionieren :-D
myCar := TAuto.Create( 'BMW' );
|
AW: und C++ Speicherreservierung von Instanzen/Obijekten // (MS visual studio 2013)
Zitat:
|
AW: und C++ Speicherreservierung von Instanzen/Obijekten // (MS visual studio 2013)
In meinem Delphi hat ein Record keinen Konstruktor und auch keine Klassenfunktionen, die so tun könnten als ob.
|
AW: und C++ Speicherreservierung von Instanzen/Obijekten // (MS visual studio 2013)
Zitat:
Zitat:
Zitat:
Zitat:
Delphi-Quellcode:
in Delphi als veraltet gilt stört mich ehrlich gesagt überhaupt nicht. Ich bin FPC Entwickler und dort ist
object
Delphi-Quellcode:
nach wie vor first-class Citizen (und wird zum Beispiel im Compiler selbst noch hier und da verwendet).
object
Referenzvariablen lassen sich in der Tat nicht mit Delphi darstellen (außer als Parameter, wo du
Delphi-Quellcode:
und in FPC
var
Delphi-Quellcode:
verwenden kannst). Andererseits sind Referenzvariablen nicht auf Klassen beschränkt und hier geht es ja um die Speicherverwaltung um Klassen und deren Äquivalenzen in Delphi. Und da ist nun mal
constref
Delphi-Quellcode:
das was am nähesten rankommt...
object
Zitat:
Delphi-Quellcode:
ein Record ist, liegt es auf dem Stack. Bei
TAuto
Delphi-Quellcode:
wird (grob gesagt) auf einer temporären Variable vom Typ
TAuto.Create
Delphi-Quellcode:
auf dem Stack gearbeitet, die an
TAuto
Delphi-Quellcode:
als versteckter Parameter übergeben wird und anschließend an
Create
Delphi-Quellcode:
zugewiesen wird. Ein Record ist nur dann auf dem Heap, wenn du mit
myCar
Delphi-Quellcode:
oder
New
Delphi-Quellcode:
und ner Zeigervariablen (
GetMem
Delphi-Quellcode:
) arbeitest.
type PAuto = ^TAuto;
Zitat:
Gruß, Sven |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz