タグ

ブックマーク / ray.sakura.ne.jp (3)

  • 何でもかんでも virtual にしてはいけない

    イントロダクション 派生される可能性があるクラスではデストラクタを virtual にすることは C++ の基事項としていいでしょう。しかし、その知識を持ってはいるけどいまいち virtual を理解していなくて、何でもかんでも virtual にしてしまう、というのではいけません。そういう人のために、ここでは virtual を使ってはいけない場合について書きます。 何のために virtual があるのか さて、メンバ関数を virtual 宣言すると、そのクラスに対し vtable と呼ばれるテーブルが作られ、隠しメンバとして vtable へのポインタが追加されます。vtable は virtual 宣言されている関数のアドレスを集めたテーブルであり、vtable へのポインタは 32bit 環境なら大抵 4 byte になります。つまり、クラスの中に virtual 宣言されたメ

    kamipo
    kamipo 2012/03/06
  • 最適化の為のアセンブラ入門

    現在、アセンブラを使わなければならないという状況はあまりありませんが、最適化をする場合はアセンブラを知っている方がなにかと有利です。特に、コンパイラの吐いたコードを吟味することはとても重要です。よってここでは、アセンブラコードを読む能力と、簡単なアセンブラコードを書く能力を身に付けることを目標とします。 この記事は Windows 上で VC++ を使う場合を想定して書いていますが、BCC でも殆ど同じですし、gcc でも少し書き方を変えれば使えます。Intel のプロセッサ上で動く Linux 等でも基的な部分は同じですし、命令セットの異なるプロセッサでも、基的な部分は役に立つと思います。ターゲットは Intel Pentium 系プロセッサです。 第0回 アセンブラってどういうもの? 第1回 代入と基的な演算 第2回 定数とメモリの扱い 第3回 レジスタについて 第4回 分岐命

  • アンテナ AKI

    最新の更新20件 2008/10/01 05:40 (C:*) にっき りくお さん  2008/10/01 05:34 (C:*) 豆のRO日記 豆 さん  2008/10/01 01:44 (C:*) おびなたのはてな日記 おびなた さん(話す人4)  2008/10/01 01:14 (C:*) 太郎日記’79J 太郎 さん(聞く人5)  2008/10/01 00:44 (C:*) いわゆる日記 suzu(聞く人4 話す人5)  2008/10/01 00:40 (C:*) kunitの日記 kunit さん(聞く人5)  2008/10/01 00:00 (C:*) たたりがみ ししがみ さん  2008/10/01 00:00 (C:*) wads-blog wads さん(聞く人4)  2008/10/01 00:00 (C:*) 岩家ぶろぐ issm さん(話す人4)  2

  • 1