C ++ Verwenden eines Verweises auf die zu definierende Variable
Ist der folgende Code gemäß dem Standard (mit Abzinsung der ... s) in C ++ gültig?
bool f(T& r)
{
if(...)
{
r = ...;
return true;
}
return false;
}
T x = (f(x) ? x : T());
Es ist bekannt, in den von diesem Projekt verwendeten GCC-Versionen zu kompilieren (4.1.2 und 3.2.3 ... fangen Sie nicht mal an ...), abersollte es?
Bearbeiten: Ich habe einige Details hinzugefügt, zum Beispiel, wie f () im Originalcode konzeptionell aussieht. Grundsätzlich soll es initialisiert werdenx unter bestimmten Bedingungen.