例外的なC++のアイテム10では、一時的な使用について説明しています(書籍の先頭35ページ、つまり返された一時的なコピーをコピー先にコピーします)。一時的なオブジェクトについての問い合わせ
コードは、私がどこで、なぜ作成されている一時的なものに非常に明確ではないよ
template<class T>
T Stack::<T>::Pop()
{
...
T result = ...
return result;
}
...
string s1(s.Pop());
です。
関数から値でオブジェクトを返すと、一時的に常に作成されますか?なぜ、その範囲は何ですか? この場合、s1はおそらく一時的なコピーから構成されていますか?関数内で結果オブジェクトから構築できないのはなぜですか?
TIA
------- EDIT ---------私は本用語コピーを使用しており、その意味では、のそれを使用しているので、私は混乱しましたと思います 私はそれが重複を意味すると考えている間に操作。 一般的にVerrの良い明確な本ですが、この特定の段落はおそらくそれほど明確ではありません。
この例では、T型の複数の一時オブジェクトが作成されている可能性がありますか? – Kos