toshiki

Stroustrup『メモリリーク? リークしないコードを書くだけ』

· Reddit r/programming #130

C++の父が示す、メモリ管理は言語機能より「設計哲学」。Rust学習中の自分にこそ刺さる視点の話。

  • #rust
  • #cpp
  • #memory
  • #ownership
  • #programming

#なぜ今日これを選んだか

Rust基礎を学んでいる今、Stroustrupの「リークするコードを書かない」という回答は逆説的に響く。Rustの所有権はこの哲学を言語レベルで強制したものだ、と気づくと、borrow checkerに怒られる時間の意味が変わる。

#要点

  • メモリリーク対策は「ツールに頼る前に、リソースの所有権を設計する」が本筋
  • C++はRAII・スマートポインタで「誰が解放するか」を型で表現する
  • Rustの所有権/Drop は同じ思想を「コンパイル時に必須化」した進化形

#自分にとっての示唆

Rustlingsでownership章にハマっているが、これはStroustrupが何十年も「規律」で守ってきた領域を、コンパイラが自動でやってくれているのだと再認識。今日の30分は、所有権エラーを「邪魔」ではなく「設計レビュー」として読む練習にしよう。具体的には、エラーが出るたびに「このリソースは誰が持ち、いつ解放されるべきか」を一言メモしてからコードを直す。これが習慣化すれば、M3の組み込みRustに進んだ時、ハードウェアリソース(GPIO・タイマー・DMA)の所有権設計が自然にできる土台になる。