Das ist die alte Syntax aus C89. Der Hauptkritikpunkt an dieser Syntax war das wenn sich die Anordnung der Felder in der Struct ändert, oder neue Felder hinzukommen, es zu schwer zu findenden bugs kommen kann, weshalb mit C99 diese Sytax durch die neue ersetzt wurde.
Compiler unterstützen aber grundsätzlich beides, aber seit C99 ist die syntax ohne Feldbezeichner nicht mehr standardkonform
Record mit $00 befüllen.
-
- Beiträge: 904
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: Record mit $00 befüllen.
Das steht noch auf meiner ToDo-Liste, da Delphi dies auch unterstützt.Mathias hat geschrieben: So 8. Dez 2024, 17:23 Jetzt wäre noch super wen sowas gehen würde.
Besonders wen es sich um einen komplexen Record handelt.Code: Alles auswählen
procedure Test; const foo: TfooRec=default(TfooRec);
FPC Compiler Entwickler
-
- Beiträge: 6713
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Record mit $00 befüllen.
Dies macht eigentlich sinn, vor allem bei komplexen Sachen. Aber bei einfachen Sachen wie ein Rechteck, ist die erste Variante vorzuziehen.Warf hat geschrieben: Mo 9. Dez 2024, 19:11 Das ist die alte Syntax aus C89. Der Hauptkritikpunkt an dieser Syntax war das wenn sich die Anordnung der Felder in der Struct ändert, oder neue Felder hinzukommen, es zu schwer zu findenden bugs kommen kann, weshalb mit C99 diese Sytax durch die neue ersetzt wurde.
Compiler unterstützen aber grundsätzlich beides, aber seit C99 ist die syntax ohne Feldbezeichner nicht mehr standardkonform
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot