Im Wesentlichen das gleiche wie this question, aber für C++.Kann ich bedingt auswählen, welche Variable zugewiesen werden soll?
Der einfachste Weg, dies zu tun wäre:
if (condition) {
a = f(x);
} else {
b = f(x);
}
Während dies meine Bedürfnisse erfüllt, hat es mich immer wieder wurde nervt, dass ich zweimal musste die Eingabe f (x) wiederholen, um nicht zu erwähnen erweitern der Code wird über so viele Zeilen ausgegeben, wenn nur eine Zeile ausgeführt wird. Was passiert, wenn ich eine größere Auswahl an Zielvariablen zur Auswahl habe?
switch(condition variable) {
case 1:
var1 = f(x);
break;
case 2:
var2 = f(x);
break;
...
case y:
vary = f(x);
break;
}
Das sieht sehr unelegant zu mir.
Gibt es irgendetwas in C++, das mir im Wesentlichen ermöglicht, Folgendes zu tun?
Verzeihen Sie, wenn es nicht ein Lvalue genannt wird, bin ich noch relativ neu in C++. Aber ihr wisst, was ich meine - die Zielvariable, der ein Wert zugewiesen werden soll.
Sie können sicherlich eine Funktion schreiben, die einen Verweis zurückgibt und diesem zuweisen. –
Wie mache ich das? Wie soll der Rückgabetyp der Funktion aussehen? – thegreatjedi
Während es nicht die direkte Antwort auf die Frage ist, ist fval = f (x); if (Bedingung) a = fval; sonst ist b = fval' für mich viel lesbarer, während ich immer noch TROCKEN bin. – Amadan