一般的に、今回のような多段の計算の場合は、中間領域が少なくとも2つ必要となる
なぜなら、一般的には「中間値2=中間値1+次の項目」と順に計算していくためである
つまり一般的な場合は、5つの変数の足し算ならば、中間値2つを加えて、計7つの領域を必要とする
しかし>>144の結果のアドレスを見ると、確かに中間値は交互にアドレスが異なり2種類だが、全体で6つの領域で済んでいるところに注目
5つの変数の領域は避けられないから、余分に確保されたのは1つのみで済んでいる
これがRust
今回用意したTest型はCopyを実装しなかったため、最初の「中間値1=a+b」を計算した時点てaとbは消費されてそれらの領域は解放される
そのため次の「中間値2=中間値1+c」の時に、中間値2の領域として既に解放されたaの領域が使われた
実際に中間値2のアドレスがaと同じになっていることで確認できる
同様に中間値3は中間値1と同じアドレスとなっている
結論
Rustでは消費し終えた変数や中間値が使用していたヒープ領域もすぐに再利用されて使い回されるため、
>>137のようなケースでも最小限のメモリしか必要とせずに済む
ニュース
- 【ライブ】簗農相会見 「一議員として」説明 [蚤の市★]
- 居住地で外国人増「いいと思わない」、41%に急増 交流は減少 …外国人が増えることに対して否定的な人は幸福度が低い傾向 ★3 [少考さん★]
- 「日本中をまわった」1都10県で200件超空き巣繰り返し6900万円相当盗んだか ベトナム国籍の男(31)を逮捕 [♪♪♪★]
- 【不正アクセス】ヤマト運輸で顧客情報流出か [蚤の市★]
- 【簗農相記者会見】「道路予算は大幅カット」発言おおむね認める 「表現ぶりが誤解招いた」 [蚤の市★]
- 【速報】スガキヤ🍜、ドムドムハンバーガー🐘を買収 [おっさん友の会★]
- 【実況】博衣こよりのえちえちこんこよ高校3026-2年目春甲子園-🧪
- 【実況】博衣こよりのえちえちこんこよ高校2026-2年目春甲子園-🧪
- あちちめらのえちちなおちちのおうち🏡
- (´●ω●`)待ちたまえ、いい子だから
- 兎田ぺこら大炎上。無職転生同時視聴で、主人公の父親が妻の妊娠中にメイドを不倫妊娠させた回に対し「キモいなにこいつ」と発言 [485187932]
- 近所の中華屋なんだがレバニラと野菜炒めが同じ値段