Domanda: Un valore di ritorno ignorato viene distrutto immediatamente o al momento esce dall'ambito.?C++: il comportamento di distruzione del valore di ritorno ignorato è ben definito
Il seguente codice restituisce per il mio compilatore
uscita:
chi lo fa, non ha bisogno di esso.
Chi lo compra, non ne ha bisogno.
Chi lo usa non può né vederlo né sentirlo.
Che cos'è?
Pertanto il valore ignorato viene immediatamente eliminato. Ma questo comportamento del compilatore è specifico o standard?
struct foo
{
~foo()
{
std::cout << "Who makes it, has no need of it. \n"
<< "Who buys it, has no use for it. \n";
}
}
foo createFoo()
{
return foo();
}
int main(int argc, char* argv[])
{
createFoo();
std::cout << "Who uses it can neither see nor feel it.\n"
<< "What is it?";
}
... o ad un riferimento di rvalue. – Angew
forse un esempio sarebbe utile – user1235183
Basta rimuovere la parola "const". Inoltre, il verbo è * distrutto *. –