回答編集履歴
4
微修正
answer
CHANGED
@@ -11,5 +11,5 @@
|
|
11
11
|
|
12
12
|
---
|
13
13
|
【alphyaさんの回答を見て修正】
|
14
|
-
(a)はてっきり一時領域を返すと思っていたのですが、(例えばstd::vectorのoperator[]やatと同様)これの結果は左辺値参照
|
14
|
+
(a)はてっきり一時領域を返すと思っていたのですが、(例えばstd::vectorのoperator[]やatと同様)これの結果は左辺値参照と理解しておけば良さそうです。`(a)=123;`が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
|
15
15
|
左辺値参照は当然lvalueなので int& になるということのようです。
|
3
補足
answer
CHANGED
@@ -11,5 +11,5 @@
|
|
11
11
|
|
12
12
|
---
|
13
13
|
【alphyaさんの回答を見て修正】
|
14
|
-
(a)はてっきり一時領域を返すと思っていたのですが、これは左辺値参照
|
14
|
+
(a)はてっきり一時領域を返すと思っていたのですが、(例えばstd::vectorのoperator[]やatと同様)これの結果は左辺値参照になるようです。`(a)=123;`が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
|
15
15
|
左辺値参照は当然lvalueなので int& になるということのようです。
|
2
typo修正
answer
CHANGED
@@ -11,5 +11,5 @@
|
|
11
11
|
|
12
12
|
---
|
13
13
|
【alphyaさんの回答を見て修正】
|
14
|
-
(a)はてっきり一時領域を返すと思っていたのですが、これは左辺値参照を返すようです。`(a)=123;
|
14
|
+
(a)はてっきり一時領域を返すと思っていたのですが、これは左辺値参照を返すようです。`(a)=123;`が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
|
15
15
|
左辺値参照は当然lvalueなので int& になるということのようです。
|
1
追記
answer
CHANGED
@@ -7,4 +7,9 @@
|
|
7
7
|
|
8
8
|
さて、「rvalue referenceはlvalue」が謎ですよね。「お前は何を言っているんだ?」と感じます。
|
9
9
|
以前、拙いですが[ところで右辺値参照は左辺値です](https://theolizer.com/cpp-school1/cpp-school1-36/#lvalue)で解説したことがあります。
|
10
|
-
分かりやすいとは言えませんが、多少はヒントになるかも知れません。
|
10
|
+
分かりやすいとは言えませんが、多少はヒントになるかも知れません。
|
11
|
+
|
12
|
+
---
|
13
|
+
【alphyaさんの回答を見て修正】
|
14
|
+
(a)はてっきり一時領域を返すと思っていたのですが、これは左辺値参照を返すようです。`(a)=123;'が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
|
15
|
+
左辺値参照は当然lvalueなので int& になるということのようです。
|