Hallo,
mal angenommen ich habe folgende Funktion:
byte test(byte input);
Kann das Aufrufen dieser Funktion negative Auswirkungen auf meinen Code haben, wenn ich den Rückgabewert in machen Fällen nicht verarbeite.
Sprich- ich schreibe z.B. nicht das hier..
byte rueckgabeWert;
rueckgabeWert = test(23);
..sondern lediglich das hier:
test(23);
Was passiert da dann mit dem Rückgabewert?
Gruß Chris
Das geht natürlich.
Hängt von den Innereien und "Nebenwirkungen" von test() ab, ob sich solch ein Aufruf überhaupt lohnt
aber wenn ja, macht das keine Probleme.
Es könnte sogar sein, dass der Compiler bei
void loop() {
byte result = test(23);
}
die Variable result wegoptimiert, weil sie nie ausgewertet wird.
Der Rückgabe-Wert wird in ein Register geschrieben. Wenn man die Variable nicht auswertet wird das halt nicht ausgelesen.