Rust part10at TECHRust part10 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト288:デフォルトの名無しさん 21/04/24 13:39:26.22 glcm53ed.net >>283 > C++11以降は、x = y と書いた時、y が捨ててよいと判断した場合は、moveで、それ以外の時は copy。 そんな親切け??? 左辺値同士だと明示しないとmoveしてくれないだろ 最適化次第ではしてくれるの? 289:デフォルトの名無しさん 21/04/24 13:43:36.80 hc4SaSPr.net >>284 えっと、関数の戻り値が構造体型(or クラス型)の場合、右辺値と解釈されるので、 s2 = func(xxx); 見たいにした場合は自動的に move代入されたと思う。 それ以外だと、たいていは、s2 = std::move(s1); のように書かなければ copy代入になるんじゃないかな。 s2 = func(xxx).s; のようにした場合も move代入になるはず。 自信は無い。 290:デフォルトの名無しさん 21/04/24 13:47:10.36 Kvw1J2lw.net >>285 RVOは全然違うぞ s2の構築にコピーコンストラクタを使わなくなって早くなるというだけ ムーヴコンストラクタはそもそも出てこない 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch