Каково время жизни аргумента по умолчанию, временно связанного со ссылочным параметром?
Я думал, что ссылки только увеличивают время жизни временных ссылок на время жизни самой ссылки, но вывод следующего фрагмента кажется противоречивым:
#include
struct X{ ~X(){ std::cout < "Goodbye, cruel world!\n"; } };
X const& f(X const& x = X()){
std::cout < "Inside f()\n";
return x;
}
void g(X const& x){
std::cout < "Inside g()\n";
}
int main(){
g(f());
}