Zitat von
Oxmyx:
Delphi ist in manchen Dingen ein Graus,
Okay, Templates etc. gibt es nicht, aber Dein Pointerbeispiel zeigt einfach, dass Du Delphi nicht gut genug kennst um es besser zu wissen. Natürlich geht es auch ohne Adressenberechnungen, sogar besser als in einigen anderen Sprachen, da Delphi die Adresse him Hintergrund abhängig vom Pointer-Typ selbständig ausrechnet.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
type
TBytes = array of Byte;
PBytes = ^TBytes;
var
Bytes: TBytes;
BytesPtr: PBytes;
begin
SetLength(Bytes, 5);
BytesPtr := @Bytes;
Bytes[0] := Random(256);
Bytes[1] := Random(256);
Bytes[2] := Random(256);
Bytes[3] := Random(256);
Bytes[4] := Random(256);
Bytes[5] := Random(256);
ShowMessage(
IntToStr(Bytes[0]) + ' = ' + IntToStr(BytesPtr^[0]) + #13#10 +
IntToStr(Bytes[1]) + ' = ' + IntToStr(BytesPtr^[1]) + #13#10 +
IntToStr(Bytes[2]) + ' = ' + IntToStr(BytesPtr^[2]) + #13#10 +
IntToStr(Bytes[3]) + ' = ' + IntToStr(BytesPtr^[3]) + #13#10 +
IntToStr(Bytes[4]) + ' = ' + IntToStr(BytesPtr^[4]) + #13#10 +
IntToStr(Bytes[5]) + ' = ' + IntToStr(BytesPtr^[5]) + #13#10 +
''
);
end;
Zitat von
Oxmyx:
wobei diese Dinge doch bestimmt einfacher einzubauen sind als eine Code-Refactoring-Funktion oder viele tolle neue Dinge, die ich einmal alle Jubeljahre brauche.
Templates und Overloads werden von ganz anderen Entwicklern mit ganz anderer Expertise geschrieben als zum Beispiel Refactoring. Von daher würde es nichts am Compiler ändern, wenn Refactoring nicht angeboten werden würde. Und um bei dem Beispiel zu bleiben, hättest Du jemals mit Refactoring gearbeitet, dann wüsstest Du, wie oft man das gebrauchen kann, nämlich fast täglich
Ich kann das zumindest nicht mehr erwarten *HABEN WILL*
...
...