11/11/30 23:15:30.73
>>290
解体できない、という意味がよくわからなかったのですが、
以下のような理解であってます?
unique_ptr<Hoge> hoge(new Hoge());
vector<unique_ptr<Hoge>> hoges;
hoges.push_back(hoge);
これは289と同じコンパイルエラーを吐く。
vector<unique_ptr<Hoge>> hoges;
hoges.push_back(unique_ptr<Hoge>(new Hoge()));
これはOK。
ってことで、hogeが確実に一時オブジェクトだと保証できれば良し。
289で書いたようなやり方だと、push_backのあとでまたhogeが使われる
可能性があるから駄目、と。