質問編集履歴
2
細かな修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
ちなみに関数funcはenable_ifを使うことで
|
14
14
|
構造体Hoge以外の型を受け付けないようになってます。
|
15
15
|
|
16
|
-
下記のコードはC++17でコンパイルしています
|
16
|
+
下記のコードはC++17でコンパイルしています。
|
17
17
|
|
18
18
|
### 質問内容
|
19
19
|
質問は2つございます。
|
@@ -30,7 +30,7 @@
|
|
30
30
|
```
|
31
31
|
と書いてしまうと下記の結果
|
32
32
|
(#define PROBLEM_OCCURRED_1を有効にした場合の実行結果)のようになります。
|
33
|
-
なぜ左辺値代入時コピーが行われず右辺値代入時もコピーが行われてしまうのでしょうか
|
33
|
+
なぜ左辺値代入時コピーが行われず右辺値代入時もコピーが行われてしまうのでしょうか。
|
34
34
|
|
35
35
|
**質問2:**
|
36
36
|
また質問①のようにfunc内で
|
@@ -39,7 +39,7 @@
|
|
39
39
|
```
|
40
40
|
と書いてしまうと
|
41
41
|
(#define PROBLEM_OCCURRED_2を有効にした場合の実行結果)のようになります
|
42
|
-
なぜ右辺値代入時ムーブが行われずコピーがが行われてしまうのでしょうか
|
42
|
+
なぜ右辺値代入時ムーブが行われずコピーがが行われてしまうのでしょうか。
|
43
43
|
|
44
44
|
ご回答どうかよろしくお願いします。
|
45
45
|
### 備考
|
@@ -140,6 +140,8 @@
|
|
140
140
|
右辺値代入
|
141
141
|
コピー
|
142
142
|
```
|
143
|
+
左辺値代入時コピーが行われず右辺値代入時もコピーが行われてしまっている。
|
144
|
+
|
143
145
|
### #define PROBLEM_OCCURRED_2を有効にした場合の実行結果
|
144
146
|
```terminal
|
145
147
|
/////////////////////////////////////////////
|
@@ -148,9 +150,10 @@
|
|
148
150
|
/////////////////////////////////////////////
|
149
151
|
右辺値代入
|
150
152
|
コピー
|
151
|
-
|
152
153
|
```
|
154
|
+
右辺値代入時ムーブが行われずコピーがが行われてしまっている。
|
153
155
|
|
156
|
+
|
154
157
|
### 開発環境の備考
|
155
158
|
|
156
159
|
|ツールの種類|ツールの名前|バージョン|
|
1
タイトルがわかりづらそう
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
std::forwardの戻り値の定義のしかたで結果が変わってしまう
|
1
|
+
std::forwardの戻り値を格納する変数の定義のしかたで結果が変わってしまう
|
body
CHANGED
File without changes
|