Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Korowai

unregistriert

21

25.07.2015, 21:12

Mit dem Thema möchte ich mich als nächstes beschäftigen. Ich habe mehrere Funktionen im Kopf, die diverse Werte zurück liefern sollen, und dass an verschiedenen STellen...

Schätze, mein nächster post ist schon idell in der Mache. Aber ich lese mich erstmal ein. Und der Gesamtcode sieht auch noch so aus wie Krautsalat :rolleyes: :rolleyes:

Danke.

m3xx

Alter Hase

Beiträge: 434

Beruf: Student

  • Private Nachricht senden

22

26.07.2015, 14:20

Du kannst in C/C++ nicht direkt mehrere Werte zurückliefern.
Da gibt es 2 Wege drumherum:
1) Pointer
2) (Nicht so schön, aber "einfacher") Du baust dir ein struct, das speziell dafür ausgelegt ist, diese Werte zurückzugeben und gibst solch ein struct mit deiner Funktion zurück.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

23

26.07.2015, 14:32

3) std::tuple (effektiv eine Variante von 2)

m3xx

Alter Hase

Beiträge: 434

Beruf: Student

  • Private Nachricht senden

24

26.07.2015, 14:36

3) std::tuple (effektiv eine Variante von 2)

ok, den kannte ich noch nicht, liegt aber wahrscheinlich daran, dass ich nicht so viel C/C++ programmiere^^

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

25

26.07.2015, 14:54

(Nicht so schön, aber "einfacher")
Ganz im Gegenteil. Das ist meist sogar deutlich schöner und sogar logischer als irgendwelche Argumente als Pointer oder Referenzen zu übergeben. Und es entspricht dem Sinn und Zweck eines Rückgabewerts.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

m3xx

Alter Hase

Beiträge: 434

Beruf: Student

  • Private Nachricht senden

26

26.07.2015, 21:28

(Nicht so schön, aber "einfacher")
Ganz im Gegenteil. Das ist meist sogar deutlich schöner und sogar logischer als irgendwelche Argumente als Pointer oder Referenzen zu übergeben. Und es entspricht dem Sinn und Zweck eines Rückgabewerts.


Also ich schätze schon du hast da recht, da du einfach einiges mehr Erfahrung hast als ich. Aber ich würde trotzdem mal gerne hinterfragen. Das würde ja aber irgendwie erfordern, dass ich speziell nur solch ein struct schreiben muss um diese Rückgabe zu realisieren. Was ja einige Zeilen wären. Bei einem Pointer ist das ja einiges weniger an Zeilen und um ehrlich zu sein weniger lesbar wird es dadurch auch nicht, wenn man den die Pointer richtig bennent. Und den Rückgabewert kann man ja immer noch nutzen oder man nutzt einen void Rückgabewert.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

27

26.07.2015, 21:38

Das hängt wohl auch immer vom Anwendungszweck ab. Wenn Du aber mehrere Rückgabewerte hast, dann ist das meist ein Zeichen dafür, dass diese Dinge eine logische Einheit bilden. Wenn nicht, ist es eher ein Fall dafür, dass die Funktion/Methode zu viel tut.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige