Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#20

AW: Dyn. Array of Double an funktion übergeben

  Alt 24. Mär 2021, 22:00
Die "Gefahr" bei offenen Parametern besteht nur darin, daß der Index sowohl bei 0 (dynamisch), als auch bei 1 (statisch) beginnen kann. Daher sollte der Zugriff immer über Low(..) und High(..) erfolgen, wenn man nicht total durcheinanderkommen will.
Andreas
Sorry, aber das ist leider falsch - ein open array parameter besteht aus dem Pointer aufs erste Element und den letzten index.

Zitat von Dokumentation:
Sie sind stets nullbasiert.

for i := 0 to High(values) ist somit immer korrekt.
Kannste auch im disassembly angucken, aus Low(values) wird immer stumpf hardcoded 0.

Und deshalb geht damit auch sowas schickes.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (24. Mär 2021 um 22:08 Uhr)
  Mit Zitat antworten Zitat