うちのコリドラスは目がちょっと出てる気がしなくも無いのです。
明らかに変な風に片目だけぼこっと出ている訳ではなく、両目がくりんとしていて、まばたきすると眼球が動くのが分かります。もしかして変な病気か?とも思いましたが、ショップではそのまま少なくとも1ヶ月生きてるみたいなのでそれが普通みたい。
んでもって、こいつら雄雌が全然分かりません;;;
たぶん、両方雄
このままSEECOM STYLEが熱帯魚飼育日記と化してしまうのを懸念しています。
だからちょっとプログラミングについて。
Objective-Cをやっていると、1つのファイルに1クラスを書くという慣例?があります。
別にいっぱいクラス書いてもよいのですが、ぶった切りにくくなりますし、行数が多くなりがちなので。
しかし、C++はクラスをCの関数のごとくボッコボコ作ることが多いようで、.hファイルが手放せません。
で、一応プログラマの端くれとしての愚痴なんですが
例えば極端な話、Cの繰り返しで
for( i = 0 ; i < 10 ; i++ )
{
printf("CC Sakura");
}
for( i = 0 ; i < 10 ; i++ )
printf("CC Sakura");
どちらも同じ動作をするのですが、カッコが無くなったので、インデントがないと混乱しやすいです。
無理やり省略しまくるのは勘弁してほしい。
変数やインスタンスは作ったスコープで解放するとか、基本的な手段を守ってほしい。
こと、オブジェクト指向プログラミングをしているとアロケートしまくるわけで、メモリはガバガバ食われていきます。インスタンスいっぱい作って、解放し忘れるわけです。クラス間でたくさんのインスタンスを渡しあうような場合は特に設計から考えないと、インスタンスを作るクラスと解放するクラスが違うということも多々発生してしまい、収拾がつかなくなりバグやメモリリークの原因になります。
Javaではこれを防ぐためにガベージコレクション管理機能が実装されていますが、ランループが1回転するとインスタンスが解放される仕組みを、簡単に理解できるでしょうか…?
メソッドを抜けても、そのメソッドで作られたインスタンスはすぐに解放されるわけではありません。Cのスコープ変数とはまったく違います。結果的に、マルチスレッドなんぞにしてしまったら、いつどれくらいメモリを食うのかはっきり分からないんです。クラスの作り方に寄っては、1インスタンスあたり何十MBもメモリを食うかもしれません。なので、解放は自分で管理できるならできたほうがいいと思いませんか。
まあ、いいよちゃんとうごけば。。
うごけば!
発現しなければバグではありません!!
うひゃひゃひゃあqwせdrftgyふじこlp;@
…続きを読む