У меня есть выход таким образом:

поддерживает динамическое связывание через виртуальный механизм. Но, как я понимаю, виртуальный механизм - это деталь реализации компилятора, и стандарт просто определяет поведение того, что должно происходить при определенных сценариях. Большинство компиляторов реализуют виртуальный механизм через виртуальную таблицу и виртуальный указатель. И да, я знаю, как это работает, поэтому мой вопрос не о деталях реализации виртуальных указателей и таблиц. Мои вопросы:

Существуют ли какие-либо компиляторы, которые реализуют Виртуальный механизм любым другим способом, кроме механизма виртуальных указателей и виртуальных таблиц? Насколько я видел, большинство (читай g ++, Microsoft visual studio) реализуют это через виртуальную таблицу, механизм указателей. Так есть ли вообще какие-либо другие реализации компилятора?sizeof любого класса с только виртуальной функцией будет размер указателя (vptr внутриthis) на этом компилятореИтак, учитывая, что сам виртуальный механизм ptr и tbl является реализацией компилятора, будет ли это утверждение, которое я сделал выше, всегда верным?

Ответы на вопрос(11)

Ваш ответ на вопрос