スタック

今日は昔の職場に出張。移動中、暇なのでC++プログラミングスタイルについて考えた。昨日の日記でも書いたように、最近、関数の引数をconstオブジェクトのリファレンスで渡すのに慣れてきた。慣れてきただけでなく、何だか心地よくなってきた。

思うに「スタック」が偉いのだと思う。変数が宣言されるとスタックに領域が確保され、変数が宣言のスコープから外れると、スタックから自動的に回収される。こんなに分かりやすくて楽なことはない。病み付きになる。

そう考えると、それを一般化したガベージコレクションはもっと偉いはずなのだが、スタックの場合は、寿命が非常に直感的なところが良いのだと思う。オブジェクトの終了処理が、必ず自分のコントロールできる範囲で行われるという安心感もある。

そう考えると、昨日考えたような、「すべてヒープに置く」というアイデアは駄目かな?