FC2ブログ
戯言徒然日記開発日記東方DTMC/C++DoJaLuaCG備忘録
気が向いたら創作活動とかしてる人のチラシの裏。
--.--.-- --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2009.01.14 Wed

 ふと電車の中で気づいたんだ。

 


 今日から始めた勉強。ええ、ジムに行ってたので電車内しかできませんでしたよ。帰りは疲れてたので問題解きながら落ちてた;

 

 さて、朝の電車で短い乗り換え区間。寒かった。ふとArrayListのことを考えてしまったんですが、たぶんできてます。時間ないので検証してないですが、ArrayListから要素をgetした際、smart_ptrが返されるようにしてたので、たとえArrayList内の要素(これもsmart_ptr。ArrayListの要素はすべてsmart_ptr<T>*となってます。)が別の箇所で参照されていたとしても、smart_ptrとして参照していれば、参照カウントが減少するだけで解放されないはず。

 

(ArrayListのgetがsmart_ptr<T>*を返すのがポイント。よく考えたらせっかくsmart_ptrに普通のポインタを隠蔽してるので、中身を取り出してどこかで参照するなんてしてしまうとsmart_ptrの意味がなくなってしまいます;ということは必然的にArrayListの要素を取り出した際もsmart_ptr<T>*で受け取って処理を実行するべき。もちろんですが、Tの部分は要素とするオブジェクトすべてに、なにかしら共通のインターフェースクラスを継承させておけば楽になる。つまり、すべてsmart_ptr<FooInterface>*で受け取れるということ。)

 

 仮に解放されてしまっていたとしてもそれはsmart_ptrの実装を変えるだけで実現できるかなぁ。所有権あたり持たせれば良いような。今の実装でも大丈夫な気がする・・・。うん;

 

 終わったら、もしくは息抜きの時間がとれるなら、検証しておこうと思います。そうすれば終わったらちゃんとしたショットの実装とかやらいろいろと着手できるー。

 

 ところで、昨日からついにWindowsLiveWriterで記事を書いてます。まだほとんどの機能が手付かず状態ですが、普通に使いやすいですね。前評判通り!よし早く寝て明日も頑張るぞ!


管理者にだけ表示を許可する

Template by まるぼろらいと
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。