Просмотр одиночного сообщения
Old 04-11-2022, 17:04   #3946
Inoniemi
Пользователь
 
Сообщений: 351
Проживание: Terijoki
Регистрация: 09-10-2022
Status: Offline
Цитата:
Сообщение от alexer
Там задали интересный вопрос: будет ли разным размер структуры с одной виртуальной функцией и с десятью и почему.


Я тут задумался, как решается ситуация с множественным наследованием. По идее возможно два подхода. Можно строить какую-то единственную "обобщенную" таблицу виртуальных функций и иметь только один указатель на нее (что уменьшает размер структуры и упрощает поиск в ней). Либо можно иметь в структуре N (по количеству базовых классов) указателей на различные виртуальные таблицы (что увеличивает размер структуры на N * sizeof(pointer)). В gcc, судя по размерам производного класса, выбрали вариант с N указателями, любопытно достаточно... Надеюсь там не приходится динамически искать методы в каждой из виртуальных таблиц.
 
0
 
0
    Ответить с цитированием