Ich habe den folgenden Code:C++ Typ der Variablen abhängig vom Kontext machen?
// Case #1
float f = 1.0f;
float f2 = sqrt(f * pi);
// Case #2
double d = 1.0;
double d2 = sqrt(d * pi);
Gibt es eine Möglichkeit die Variable pi
so zu definieren, dass operator*
und sqrt
1 auf float
s in Case # arbeiten, sondern wird auf double
s in Case # 2 arbeiten?
Vielleicht könnte es mit C++ 14 variablen Vorlagen möglich sein?
@LWimsey Ja, Tippfehler, danke. – Barry
@ T.C. So ähnlich? – Barry
Sie können es einfacher machen - Standardimplementierung sollte "double" -Wert anstelle von "int" definieren. 'Vorlage constexpr Doppel-pi = 3,0;' –
Orient