回答編集履歴
2
微修正
answer
CHANGED
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
左辺値参照と右辺値参照は異なる型ですので、それぞれを受け取る異なる関数を定義できます。それだけの話です。つまり、それぞれの関数の振る舞いを決めるのはあなたなのです。
|
|
9
9
|
|
|
10
10
|
---
|
|
11
|
-
とはいえ本当に自由に書いてしまうとコードが分かりにくくなるので、左辺値参照を受け取る関数はコピー、右辺値参照を受け取る関数はコピーというよりは移動と呼んだ方が妥当な処理を書くことが「強く」推奨されます。
|
|
11
|
+
とはいえ本当に自由に書いてしまうとコードが分かりにくくなるので、左辺値参照を受け取る関数はコピー、右辺値参照を受け取る関数はコピーというよりは移動(リソースの所有権を移動することが多いです。)と呼んだ方が妥当な処理を書くことが「強く」推奨されます。
|
|
12
12
|
|
|
13
13
|
例えば、get()とset()という関数があったら、一般にget()で値を取り出し、set()で値を設定すると思います。それを逆にする(get()で値を設定し、set()で値を取り出す)ことも可能ですが、本当にそんなコードを書いたら激しく非難されると思います。そのようなものとご理解下さい。
|
1
微修正
answer
CHANGED
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
左辺値参照と右辺値参照は異なる型ですので、それぞれを受け取る異なる関数を定義できます。それだけの話です。つまり、それぞれの関数の振る舞いを決めるのはあなたなのです。
|
|
9
9
|
|
|
10
10
|
---
|
|
11
|
-
とはいえ本当に自由に書いてしまうとコードが分かりにくくなるので、左辺値参照を受け取る関数はコピー、右辺値参照を受け取る関数はコピーというよりは移動と呼んだ方が妥当な処理を書くことが「強く」推奨されます。
|
|
11
|
+
とはいえ本当に自由に書いてしまうとコードが分かりにくくなるので、左辺値参照を受け取る関数はコピー、右辺値参照を受け取る関数はコピーというよりは移動と呼んだ方が妥当な処理を書くことが「強く」推奨されます。(リソースの所有権を移動することが多いです。)
|
|
12
12
|
|
|
13
13
|
例えば、get()とset()という関数があったら、一般にget()で値を取り出し、set()で値を設定すると思います。それを逆にする(get()で値を設定し、set()で値を取り出す)ことも可能ですが、本当にそんなコードを書いたら激しく非難されると思います。そのようなものとご理解下さい。
|