回答編集履歴
2
リンク追加
answer
CHANGED
@@ -30,4 +30,8 @@
|
|
30
30
|
}
|
31
31
|
```
|
32
32
|
このケースでは、returnのstd::moveは書いた方がいいような気がします。
|
33
|
-
NRVOは機能できない筈ですし、構文的にはコピーになる筈です。コンパイラがstd::moveなしでも左辺値をムーブしてくれればよいのですが。
|
33
|
+
NRVOは機能できない筈ですし、構文的にはコピーになる筈です。コンパイラがstd::moveなしでも左辺値をムーブしてくれればよいのですが。
|
34
|
+
|
35
|
+
↓右辺値参照は左辺値です。わけわからんですね。
|
36
|
+
https://cpprefjp.github.io/lang/cpp11/rvalue_ref_and_move_semantics.html
|
37
|
+
> 右辺値参照で宣言された変数は右辺値ではなく、左辺値である。
|
1
補足
answer
CHANGED
@@ -29,4 +29,5 @@
|
|
29
29
|
return std::move(vec);
|
30
30
|
}
|
31
31
|
```
|
32
|
-
このケースでは、returnのstd::moveは書いた方がいいような気がします。
|
32
|
+
このケースでは、returnのstd::moveは書いた方がいいような気がします。
|
33
|
+
NRVOは機能できない筈ですし、構文的にはコピーになる筈です。コンパイラがstd::moveなしでも左辺値をムーブしてくれればよいのですが。(右辺値参照は左辺値です。わけわからんですね。)
|