質問編集履歴
1
sの(p,q)とは何なのか?わかりにくかったので文を修正させて頂きました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,6 +7,18 @@
|
|
7
7
|
return文の際にreturn string(p + stm.p, q + stm.q)と書くとなぜしっかりpとqの足した値が返ってくるのでしょうか?
|
8
8
|
return文の際、stringの型で返さなければsの(p,q)だけ計算される仕組みがよくわかりません。
|
9
9
|
|
10
|
+
※sの(p,q)とはsのオブジェクトの値であるs(200, 300)を指します。
|
11
|
+
本来ならreturn string(p + stm.p, q + stm.q)すると
|
12
|
+
sの200の値とwの100の値が足し合わさってeのpには300が格納され
|
13
|
+
eのqにはsのqとwのqが足し合わさってeのqには500が格納されるコードです。
|
14
|
+
ただreturn文で
|
15
|
+
return string(p + stm.p, q + stm.q)
|
16
|
+
上記のような記述をするとしっかり計算してくれるのですが
|
17
|
+
return (p + stm.p, q + stm.q)
|
18
|
+
上記のような書き方をすると値が(500,0)と表示されてしまいます。
|
19
|
+
このように帰ってくるのはなぜなのか
|
20
|
+
このあたりの挙動がよくわかりません。
|
21
|
+
|
10
22
|
struct string
|
11
23
|
{
|
12
24
|
int p;
|