![]() |
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
Zuerst macht man es umständlich und dann verwendet man Operator-Überladung um es wieder komfortabler zu machen. Zitat:
Zitat:
|
Re: c++ vs delphi
Antworten auf so was wie diese Frage :
Zitat:
|
Re: c++ vs delphi
Zitat:
Die übliche Idee ist doch wenn eine Variable ihren Gültigkeitsbereich verläßt wird sie freigegeben. In den allermeisten Fällen braucht man nicht dynamisch zu allozieren... Z.B. ist es sehr lästig wenn man sowas wie mathematische Vektoren in einer Klasse gekapselt hat und dann eine Berechnung vornimmt. Dynamisch wird das sehr unübersichtlich. |
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Aber virtuelle Methoden gehen nicht:
Das hier kompiliert nicht
Delphi-Quellcode:
ersetzt man object durch class geht es.
TBla = object
public procedure Blubb; virtual; end; TBlo = object(TBla) public procedure Blubb; override; end; procedure TBla.Blubb; begin end; procedure TBlo.Blubb; begin end; |
Re: c++ vs delphi
Zitat:
In C++ kann man mit new hingegen das übliche Delphiverhalten ebenfalls bekommen. Zitat:
Zitat:
![]() ![]() Zitat:
Templates wären allerdings die Krönung - da stimme ich voll mit dir überein. Aber wie schriebst du so schön: mael schrieb (Hervorhebung Mephisto): Freepascal hat Operatorueberladung, aber wie schon gesagt, bei Delphi fehlt die Weiterentwicklung der Sprache. Zitat:
![]() |
Re: c++ vs delphi
Zitat:
|
Re: c++ vs delphi
Zitat:
Zitat:
Ursprünglich komme ich von Win9x, da gibt es keine Sicherheit :nerd: Irgendwie lies dieses MaximumLength mich schon vermuten daß irgendwo ein buffer overrun verhindert werden soll. Aber mal ehrlich, warum verwendet MS nicht die WideStrings, da hätten die solche Probleme nicht :tongue:, das könnte man dann einfach casten. :spin: Bevor man mir sagt C++ hat keine WideStrings: Ich weiß, aber die Struktur/Record hätten die ja nur ein klein wenig anders machen müssen und dann wäre das kompatibel. |
Re: c++ vs delphi
Zitat:
Zitat:
Und "einfach" Casten ist dank Compiler-Magic bei Strings auch so eine Sache :tongue: MaximumLength sagt Windows übrigens wie groß der Buffer ist, den deine Anwendung allokiert hat und ist eigentlich nur dafür da, wenn Windows Daten in den Buffer schreiben soll. Es selbst weiß ja nicht, wie groß der Buffer ist, deswegen muss man es ihm mitteilen. Das wirst du bei allen C-Konstrukten finden, die irgendwie mit Strings zu tun haben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 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