Wie kann ein standardmäßig initialisiertes Objekt elegant zurückgegeben werden?
Ich habe eine Klasse wie folgt:
class VeryVeryVeryLongTypeName
{
bool is_ok;
VeryVeryVeryLongTypeName() : is_ok(false) {}
};
VeryVeryVeryLongTypeName f()
{
VeryVeryVeryLongTypeName v;
... // Doing something
if (condition_1 is true)
{
return v;
}
else
{
return VeryVeryVeryLongTypeName();
}
... // Doing something
if (condition_2 is true)
{
return v;
}
else
{
return VeryVeryVeryLongTypeName();
}
}
Ich denke die Aussagereturn VeryVeryVeryLongTypeName();
ist sehr langweilig und hässlich, meine Frage ist also:
Wie kann ein standardmäßig initialisiertes Objekt elegant zurückgegeben werden?
oder mit anderen Worten:
Ist es eine gute Idee, dem C ++ - Standard ein Feature hinzuzufügen, um sicherzustellen, dass die folgende Aussage zulässig ist?
return default; // instead of return VeryVeryVeryLongTypeName();