それをxに代入されるまでの一時的なへの参照は、「生き残る」していますか?この一時参照は十分に長く存続しますか?</p> <pre><code>template <typename T> T const & foo(T const & dflt) { return /* ... */ ? /* ... */ : dflt; } int x = foo(5); </code></pre> <p>で
(私はそれがfoo()呼び出しの期間を存続知っているが、割り当てが、私は躊躇します)
問題のコードはつまり、私は別の2が必要になり、ここでのconst参照に頼るのためのいくつかの合法的な用途があります機能
私は避けたいT const & foo_cr(T const & dflt);
T const & foo_v(T dflt);
(ちょうど同じ名前wiht異なるシグネチャに頼るが、私には危険なビットだ。)
「...は何ですか? ...:dflt; 'それはどういう意味ですか? 0_o –
このコンテキストでは、「...」は「質問には関係のないコードです。私はコメントに変更しました。おそらくそれはもっと明白です。 – peterchen