私は、いくつかのハンドルが適切に処理されることを保証するために、簡単なRAIIクラスを持っています。今私は誰もそれに偶然仮想メソッドを追加するつもりはないと主張したいと思います。私がそれを見る方法では、クラスにvtblポインタがないと主張する必要があります。レイアウトに特定のクラスにvtblポインタがないことをアサートする方法はありますか?
どうすればいいですか?コンパイル時にアサートすることは可能ですか?
EDIT
私はデスクトップのコンパイラのために解決します。私が知る限り、多態性の実装にvtblを使用していないデスクトップC++コンパイラはありません。
理論上、ポータブルな方法でこれを行うことはできません。 –
_sealed_クラスの取得に興味があります。http://stackoverflow.com/q/4712992/96780 –
vtblは実装の詳細です。仮想関数を実装するために呼び出しテーブルを使用しないコンパイラが存在する可能性があります。ある特定のコンパイラに自分自身を制限したいですか? – filmor