WCzy to tymczasowe odniesienie przetrwało wystarczająco długo?
template <typename T>
T const & foo(T const & dflt)
{ return /* ... */ ? /* ... */ : dflt; }
int x = foo(5);
Czy odniesienie do tymczasowego „przeżyć”, dopóki nie jest przypisany do X?
(wiem, że to przetrwa czas trwania foo() rozmowy, ale przypisanie sprawia, że waha)
Kod w pytaniu ma kilka legalnych zastosowań dla powołując się na referencje const tutaj, to znaczy, że będę potrzebował dwóch oddzielnych funkcje
T const & foo_cr(T const & dflt);
T const & foo_v(T dflt);
który chcę uniknąć (tylko opierając się na różnych podpisów wnioskach o tej samej nazwie wydaje się nieco ryzykowne dla mnie.)
Co oznacza "...? ...: dflt; "to miało znaczyć? 0_o –
'...' w tym kontekście jest "kod, który jest nieistotny dla pytania. Zmieniłem go na komentarze, może to jest jaśniejsze – peterchen