В качестве примера взят следующий фрагмент:
struct Foo
{
typedef int type;
};
class Bar : private Foo
{
};
class Baz
{
};
Как видите, в этих отношениях нет виртуальных функций. Поскольку это так, являются ли следующие предположения точными в том, что касается языка?
- Таблица виртуальных функций не будет создана в
Bar
.
sizeof(Bar) == sizeof(Baz)
По сути, я пытаюсь выяснить, буду ли я платить какие-либо штрафы за это. Мое первоначальное тестирование (хотя и на одном компиляторе) показывает, что мои утверждения верны, но я не уверен, что это оптимизатор моего компилятора или спецификация языка, которая отвечает за то, что я вижу.