teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

update

2020/08/06 06:33

投稿

yohhoy
yohhoy

スコア6191

answer CHANGED
@@ -1,7 +1,8 @@
1
1
  > std::forwardをする意味は何でしょうか
2
2
 
3
3
  ムーブ操作のみサポートする型(たとえば`std::unique_ptr`)を扱うために、`std::forward`による~~完全転送が必要となります。~~
4
- 訂正:オリジナルコードでは `Args&&...` ではなく `Args...` となっているため、`std::forward<Args>(args)...` は完全転送とは異なる動きになりますね。
4
+ 訂正:オリジナルコードでは `Args&&...` ではなく `Args...` となっているため、`std::forward<Args>(args)...` は完全転送とは異なる動きになりますね。(第一引数`F&&`は
5
+ `std::forward<F>(f)`で完全転送)
5
6
 
6
7
  ```C++
7
8
  void f(std::unique_ptr<int> up)

1

fix

2020/08/06 06:33

投稿

yohhoy
yohhoy

スコア6191

answer CHANGED
@@ -1,6 +1,7 @@
1
1
  > std::forwardをする意味は何でしょうか
2
2
 
3
- ムーブ操作のみサポートする型(たとえば`std::unique_ptr`)を扱うために、`std::forward`による完全転送が必要となります。
3
+ ムーブ操作のみサポートする型(たとえば`std::unique_ptr`)を扱うために、`std::forward`による~~完全転送が必要となります。~~
4
+ 訂正:オリジナルコードでは `Args&&...` ではなく `Args...` となっているため、`std::forward<Args>(args)...` は完全転送とは異なる動きになりますね。
4
5
 
5
6
  ```C++
6
7
  void f(std::unique_ptr<int> up)