11
Visual Studioの__declspec(novtable)
引数に相当するg ++がありますか?Visual Studioの__declspec(novtable)に相当するg ++がありますか?
基本的には、純粋な仮想基底クラスでは、基本クラスのvtableの作成を抑制するために、またcontstructor/destructorのvtable初期化/初期化解除コードをそれぞれ使用することができます。例:
class __declspec(novtable) PureVirtualBaseClass
{
public:
PureVirtualBaseClass(){}
virtual ~PureVirtualBaseClass() = 0;
};
詳細については、Paul DiLascia's articleを参照してください。私の関連のquestionも見てください。
好奇心が強い:PureVirtualBaseClassのvtableを破棄することは、マイクロ最適化であり、一般的には非常に小さいものです。これをしたい理由は何ですか? – Managu
DiLasciaの記事を読んで、彼は私ができるよりもこれをやりたい理由を取り上げています。 – paxos1977
また、MSDNのhttp://msdn.microsoft.com/en-us/library/k13k85ky.aspxで、__declspec(novtable)を使用してプログラムサイズを大幅に削減できることが示唆されています。 – paxos1977