暇に飽かさたな。

はまやわらかいブログ。

C++を

2005-06-11 16:09:21 | Weblog
 勉強している。配列も動的配列もかわらんだろう、と思っていたが大違いであることを思い知らされた一日であった。実は、配列のほうが汎用性があるのではないだろうか。
というのも、クラスの中である配列を動的配列で実現したとする。その際、そのクラスのオブジェクトを生成したときにまず配列へのポインタが定義され、そこに動的配列が(コンストラクタなどで)割り振り、デストラクタで破棄することが多いだろう。このようにすると、ある関数fの返り値がそのクラスのオブジェクトであった場合、実際に返されるのはポインタだけである一方で、fからフォーカスが外れたときにデストラクタが動作し、動的配列本体を破棄する。すなわち、ポインタはようわからんところを指してしまい、誤動作をするのだ。(というか、こうなることに気付かずプログラムしてました。。設計ミス。)
 抽象化するというのは難しいね。