Improving C# Memory Safety
https://devblogs.microsoft.com/dotnet/improving-csharp-memory-safety/
C# 16、メモリ安全性を強化する新たなunsafeモデルを導入へ
https://codezine.jp/news/detail/24314
C#が新unsafeでメモリ安全に Rust/Swiftへの言及も
1デフォルトの名無しさん
2026/05/24(日) 23:12:01.01ID:Q/0ls4UZ21デフォルトの名無しさん
2026/06/27(土) 18:35:33.80ID:vL0XygNT >>14
手動とはどういう意味でしょう?
例えばそのRustで構造体のオブジェクトを作るとすると
その値を格納する変数はスタック領域に確保されます
そのメモリ割り当て解放コストは他のローカル変数とまとめてスタックポインタを加算減算するだけでコストは最小
これら自動ですので手動ではありません
手動とはどういう意味でしょう?
例えばそのRustで構造体のオブジェクトを作るとすると
その値を格納する変数はスタック領域に確保されます
そのメモリ割り当て解放コストは他のローカル変数とまとめてスタックポインタを加算減算するだけでコストは最小
これら自動ですので手動ではありません
22デフォルトの名無しさん
2026/06/27(土) 18:38:11.62ID:vL0XygNT ではその構造体オブジェクトを作る関数が先ほどの変数>>21へ値を返す時はどうなるでしょうか?
その値が小さければレジスタで返されます
その値が大きければ自動的に先ほどのスタック上の変数のアドレスが関数へ渡されてダイレクトに返す先の変数に値が書き込まれます
このようにオブジェクトの値のやりとりコストも最小
そしてこのオブジェクト作成関数ではオブジェクトのメモリの確保が不要
これらも自動ですので手動はありません
その値が小さければレジスタで返されます
その値が大きければ自動的に先ほどのスタック上の変数のアドレスが関数へ渡されてダイレクトに返す先の変数に値が書き込まれます
このようにオブジェクトの値のやりとりコストも最小
そしてこのオブジェクト作成関数ではオブジェクトのメモリの確保が不要
これらも自動ですので手動はありません
23デフォルトの名無しさん
2026/06/27(土) 18:40:24.54ID:vL0XygNT 最後に変数>>21に格納された構造体オブジェクトの値を用いる他の関数を呼び出す時はどうなるでしょうか?
不変参照(書き換え不可)か可変参照(書き換え可能)を関数へ渡します
先ほどのスタック上の変数のアドレスがレジスタに格納されて関数へ渡されるだけでコスト最小です
以上ここまでメモリの割り当てと解放のコストは最初のオブジェクト格納変数のためのスタックポインタの加算減算しか生じていないです
だから速いのです
不変参照(書き換え不可)か可変参照(書き換え可能)を関数へ渡します
先ほどのスタック上の変数のアドレスがレジスタに格納されて関数へ渡されるだけでコスト最小です
以上ここまでメモリの割り当てと解放のコストは最初のオブジェクト格納変数のためのスタックポインタの加算減算しか生じていないです
だから速いのです
レスを投稿する
ニュース
- 【サッカーW杯】日本、ブラジルに1-2の逆転負け…田中碧が号泣、上田綺世、久保建英の目にも涙 ★3 [鉄チーズ烏★]
- 【W杯】森保監督がブラジル戦を総括 涙ながらに謝罪「監督の力が足りず、すみませんと伝えたい」 [王子★]
- ブラジル代表FWクーニャ、勝利後に塩貝健人を挑発 「5回優勝」を示すジェスチャー [王子★]
- 【サッカーW杯】日本、ブラジルに1-2の逆転負け…田中碧が号泣、上田綺世、久保建英の目にも涙 ★4 [鉄チーズ烏★]
- 【W杯】長友佑都 アジア人初のW杯5大会連続出場も…「レガシー・パッチ」着用選手で初の敗退に [NO FUTURE★]
- 【サッカー】「1度寝る?起きておく?」 日本vsブラジルで議論勃発! 午前2時開始…「延長やPK戦までもつれたら朝までの戦いに」★2 [冬月記者★]