Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Austausch-Sortieralgorithmus mit Prozeduren

  Alt 27. Apr 2012, 19:16
Auch wenn man eine Deklaration weglassen kann, wenn die aufgerufene Funktion vor dem Aufruf steht, so sollte man sich angewöhnen, immer eine Deklaration vorzunehmen.
Aber nur, wenn die Funktion auch für andere Units sichtbar sein soll. Ist es eine unitinterne Funktion, gehört sie nicht in den Interface-Teil und sollte höchstens im implementation-Teil mit forward deklariert werden.

Zitat:
[*]Auch wenn man Funktion(); für parameterlose Funktionen verwenden kann, ich vermeide es und benutze stattdessen Funktion; . Keine Ahnung, ob das Verwenden leerer Klammern Auswirkungen haben kann und/oder ob das irgendeinem Standard entspricht oder widerspricht (nein, ich meine nicht den C-Standard ).
Ich habe mir inzwischen wieder Klammern angewöhnt, weil sonst Selbstaufrufe doppeldeutig sein können:
Delphi-Quellcode:
function xyz: Integer;
begin
  // do smthng
  a := xyz;
  // do smthng
end;
Nun steht es dem Compiler offen, ob er "xyz" wie "Result" wertet (TP-Abwärtskompatibilität) oder als Selbstaufruf, der Ausdruck ist nicht eindeutig. Aber zugegeben - rekursive Funktionen haben ja meist Parameter, daher kommt's selten vor.
  Mit Zitat antworten Zitat