Где я должен положить пустой базовый класс? - PullRequest
9 голосов
/ 14 сентября 2011

Имеет ли значение порядок, в котором я перечисляю базовые классы, когда один из них пуст, а другой нет?

class Foo : normal_class, empty_class { ... };

class Foo : empty_class, normal_class { ... };

Влияет ли порядок на способность компилятора применять пустую оптимизацию базового класса?

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Не думаю, что это имеет значение, хотя я все равно стараюсь сначала поставить пустую базу.

На буст-сайте есть интересная заметка о нескольких пустых базах: http://www.boost.org/doc/libs/1_38_0/libs/utility/operators.htm#old_lib_note

0 голосов
/ 14 сентября 2011

Это не имеет значения - после наследования некоторых элементов данных компилятор может произвольно дополнить класс.Так что нет, пустая оптимизация не обязательно применяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...