会社の掟2009/04/03 22:10

久しぶりに、納得できる書籍に出会いました。読んでみると、自分がこれまで無意識のうちに考えていたことが明確に書いてあって、なるほどね。と思ってしまいます。雲は、意外と、直感の人であまり論理的なところまで追求するということが苦手だったりするので、こういう本は自分の行動原理の根本を理解する上で非常に役に立ちます。

(※) ビジネス・ゲームというタイトルで光文社より復刊しました。

番長Ⅲ屋敷2009/04/05 11:23

雲は、HD の故障には全然縁がなかったのだけど、Seagate のBIOSの障害で初めて HD が壊れるものだということを学習しました。ちょっと、遅いけど。さて、そういうことで、雲も、HD の耐久性に興味がわいてきたので、MTBF なんかを検索していたら、面白い HP を見つけました。その名も、外付けハードディスク自作ケース金具番長Ⅲ屋敷。いや、冗談かと思ってしまうほど、印象の強い製品?です。HDを多く使う人にはぴったりかもしれません。 http://hddbancho.co.jp/hdd_big_mounter.html

RVO(Return Value Optimization)2009/04/07 22:16

C++ では、俗に言う戻り値の最適化があります。これは、戻り値のコピー渡しによる非効率を避けるための方法です。その流れで、以下のようなコードを見つけました。

using namespace std;

class AAA{ public: AAA(){ cout << "AAA" << endl; } ~AAA(){ cout << "BYE" << endl; } };

void foo( AAA aaa ){

cout <<"FOO END" << endl; }

int main() { foo( AAA() ); // ここがポイント } AAA() と書いてあるところがポイントでこれをすることで、コピー渡しとはならずに、foo関数の引数を直接作成することができるそうです。ただ、このサンプルを動作させると、何故か、クラスAAAのデストラクタが2回呼び出されてしまいました(コンストラクタは1回のみ)。ううむ。不思議だ。と、非常に困っている雲でした。

できる時にできることを2009/04/08 06:24

雲は、これまで、あまり自分のイメージ通りになったという経験がないこともあって、こうなったら、こうしたい。なんて理想を実現できることがほとんど無かったのです。なので、理想にたどり着くためには、こうなったら、こうしよう。ではなく、こういう状態なので、これをしよう。これができる。という風に考えてやった方が良い結果に繋がると信じています。人生なかなか、思うようにはなりませんね。と、いつものように愚痴で終わってしまいました。ダメですね~。

構造体の初期化2009/04/11 12:33

いろいろなところで、みたことがあるはずなのに使ったことが無いために、全然、身についていなかったことに構造体の初期化があります。構造体は、メンバー変数の初期化を宣言時に同時に行うことが可能です。例えば、 typedef struct PointTag{

 int x;
 int y;

}Point; Point point = { 10, 20 };

と記述すると、point.x = 10, point.y = 20 に設定されます。これが便利なのは、なんと言っても、const 指定した構造体を作成できることかと思います。参考になると幸いです。