回答編集履歴

4

微修正

2019/06/07 07:23

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -24,6 +24,6 @@
24
24
 
25
25
  【alphyaさんの回答を見て修正】
26
26
 
27
- (a)はてっきり一時領域を返すと思っていたのですが、(例えばstd::vectorのoperator[]やatと同様)これの結果は左辺値参照になるようです。`(a)=123;`が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
27
+ (a)はてっきり一時領域を返すと思っていたのですが、(例えばstd::vectorのoperator[]やatと同様)これの結果は左辺値参照と理解しておけば良さそうです。`(a)=123;`が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
28
28
 
29
29
  左辺値参照は当然lvalueなので int& になるということのようです。

3

補足

2019/06/07 07:23

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -24,6 +24,6 @@
24
24
 
25
25
  【alphyaさんの回答を見て修正】
26
26
 
27
- (a)はてっきり一時領域を返すと思っていたのですが、これは左辺値参照を返すようです。`(a)=123;`が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
27
+ (a)はてっきり一時領域を返すと思っていたのですが、(例えばstd::vectorのoperator[]やatと同様)これの結果は左辺値参照になるようです。`(a)=123;`が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
28
28
 
29
29
  左辺値参照は当然lvalueなので int& になるということのようです。

2

typo修正

2019/06/07 07:17

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -24,6 +24,6 @@
24
24
 
25
25
  【alphyaさんの回答を見て修正】
26
26
 
27
- (a)はてっきり一時領域を返すと思っていたのですが、これは左辺値参照を返すようです。`(a)=123;'が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
27
+ (a)はてっきり一時領域を返すと思っていたのですが、これは左辺値参照を返すようです。`(a)=123;`が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
28
28
 
29
29
  左辺値参照は当然lvalueなので int& になるということのようです。

1

追記

2019/06/07 07:13

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -17,3 +17,13 @@
17
17
  以前、拙いですが[ところで右辺値参照は左辺値です](https://theolizer.com/cpp-school1/cpp-school1-36/#lvalue)で解説したことがあります。
18
18
 
19
19
  分かりやすいとは言えませんが、多少はヒントになるかも知れません。
20
+
21
+
22
+
23
+ ---
24
+
25
+ 【alphyaさんの回答を見て修正】
26
+
27
+ (a)はてっきり一時領域を返すと思っていたのですが、これは左辺値参照を返すようです。`(a)=123;'が[通りました](https://wandbox.org/permlink/ocUg668Vg1um7eWw)。(一時領域ならエラーになる筈です。)
28
+
29
+ 左辺値参照は当然lvalueなので int& になるということのようです。