A sample in <inside c++ object model>:
X bar()
{
X xx;
//...
return xx;
}
void bar(X &__result)
{
__result.X::X();
//...
return;
}
Why X::X() is called inside bar? I think it should be called before bar, for
better semantic.To always reset a input parameter (by calling its
constructor here) is senseless.
Is the latter better than the former anyway?
X x0=bar();
1. X::X() is called inside bar
X x0;
bar(x0);
2. outside
X x0;
x0.X::X();
bar(x0);