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