AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Result einer Funktion "Stil Frage"

Ein Thema von Jonas Shinaniganz · begonnen am 4. Nov 2012 · letzter Beitrag vom 5. Nov 2012
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: Result einer Funktion "Stil Frage"

  Alt 5. Nov 2012, 07:19
Ui, vielen Dank für diese Lehrstunde.

Halten wir fest:
1. Grundsätzlich sollte man (immer! ohne Ausnahme!) das Funktionsresultat initialisieren. Delphi macht das zwar machnmal, aber guter Programmierstil sollte ohne wenn und aber gleichförmig sein.
2. Der Compiler sollte die Warnung 'Rückgabewert... könnte undefiniert sein' auf alle Funktionstypen ausweiten. So wie bei C# zum Beispiel.
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Result einer Funktion "Stil Frage"

  Alt 5. Nov 2012, 08:32
Nur als Bemerkung am Rande: in Free Pascal ist in den Modi fpc und objfpc der Funktionsname als "rvalue" erlaubt. Möchte man hier einen rekursiven Aufruf (bei einer parameterlosen Funktion), so muss ein leeres Klammerpaar angehängt werden.

Delphi-Quellcode:
program resulttest;

{$ifdef fpc}
{$mode objfpc}
{$endif}
{$apptype console}

function Sum: LongInt;
const
  Values: array[0..4] of Byte = (
    1, 2, 3, 4, 5
  );
var
  b: Byte;
begin
  Sum := 0;
  for b in Values do
    Sum := Sum + b; // Sum() würde die Funktion rekursiv aufrufen
end;

begin
  Writeln(Sum); // ergibt "15" und nicht "stack overflow" ;)
end.
Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:46 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