Этот вопрос, скорее всего, означает «что говорит стандарт C++», но мой поиск в Google не дал мне ответа, который я ищу.Наследование структур без функций-членов
Я знаю, что когда у вас есть классы и у вас есть один класс, наследуемый от другого класса, вы попадаете в мир виртуальных таблиц функций, поскольку код должен определить, какой класс содержит функцию, которую вы пытаетесь вызвать ,
А как насчет наследования между структурами, которые содержат только данные? Например, если у вас есть структура виджета, а затем вам нужна специализированная версия этой структуры с несколькими дополнительными переменными, но вы все же хотите иметь возможность передавать свои исходные данные в функции, которые обрабатывают виджетов, было бы проще наследуйте от исходной структуры виджетов, чем для того, чтобы ваш код обрабатывал два типа структур виджетов. Есть ли накладные расходы, когда есть только данные, связанные с наследованием? Является ли специализированный виджет еще простой структурой (с точки зрения макета памяти) как с объединенными данными, так и с исходными данными виджета, хранящимися отдельно от новых данных?
В конечном счете, я хочу, чтобы мои данные были простыми и непрерывными, поскольку основная структура была бы, и я не знаю, может ли наследовать данные.
Очень верно. Я упомянул об этом как пример того, что происходит за кулисами, когда вы используете наследование. Я не знаю, есть ли какие-то подобные вещи, которые происходят за кулисами для членов данных. – Nairou
@Nairou: Нет, нет, потому что члены данных не являются полиморфными. –