Size: a a a

2020 July 18

CD

Constantine Drozdov in supapro.cxx
Александр Караев
Для абстрактного класса vtable вообще не обязана генерироваться. А если генерируется, зачем в ней pure virtual функция?
А если конструктор втбл зовёт?
источник

AS

Anatoly Shirokov in supapro.cxx
Ребят, а вот вы ковыряете конкретную реализацию для чего?
источник

АК

Александр Караев... in supapro.cxx
Constantine Drozdov
А если конструктор втбл зовёт?
Конструктор знает, какой тип на данный момент обрабатывает
источник

CD

Constantine Drozdov in supapro.cxx
Александр Караев
Конструктор знает, какой тип на данный момент обрабатывает
А функция, из него вызванная?
источник

LA

Liber Azerate in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Никого не смущает что там VLA 🤔
Я слепой, но где? Там вполне себе константные размеры, а то, что человек не умеет пользоваться динамическим выделением, чтобы подстроить свой массив под нужные ему n и m и берёт с запасом, так это не vla, нет?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Liber Azerate
Я слепой, но где? Там вполне себе константные размеры, а то, что человек не умеет пользоваться динамическим выделением, чтобы подстроить свой массив под нужные ему n и m и берёт с запасом, так это не vla, нет?
Переменные неконстантные у него
источник

АК

Александр Караев... in supapro.cxx
Constantine Drozdov
А функция, из него вызванная?
Хм. Убедил.
источник

LA

Liber Azerate in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Переменные неконстантные у него
const int a, b?
источник

АК

Александр Караев... in supapro.cxx
Ilia Zviagin
Ты неправ
@webreh уже пояснил мне, я не прав, да.
источник

IZ

Ilia Zviagin in supapro.cxx
Ну и ты пытается тут поставить эксперимент и на его основе вывести результат, теорию.
Это вообще в корне неверный подход в С++.


Например, я вижу страуса, он птица и он не летает. Я вижу пингвина, он птица, и не летает. Следовательно, все птицы не летают.

Вот примерно так ты рассуждаешь
источник

IZ

Ilia Zviagin in supapro.cxx
Александр Караев
@webreh уже пояснил мне, я не прав, да.
Из конструктора виртуальная функция тоже обычно зовётся виртуально, потому что не всегда ясно кто из предков переопределил вызываемую
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Constantine Drozdov
А функция, из него вызванная?
А на вызове конструктора есть vtable? Доступ же есть только к базовым классам
источник

IZ

Ilia Zviagin in supapro.cxx
Anatoly Shirokov
Ребят, а вот вы ковыряете конкретную реализацию для чего?
Для него @ddvamp
источник

CD

Constantine Drozdov in supapro.cxx
Ilia Zviagin
Из конструктора виртуальная функция тоже обычно зовётся виртуально, потому что не всегда ясно кто из предков переопределил вызываемую
Конструктор обязан синтезировать втбл
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Ilia Zviagin
Из конструктора виртуальная функция тоже обычно зовётся виртуально, потому что не всегда ясно кто из предков переопределил вызываемую
Так предки конструируются после этого класса
источник

IZ

Ilia Zviagin in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А на вызове конструктора есть vtable? Доступ же есть только к базовым классам
Конструктор не бывает виртуальным
источник

IZ

Ilia Zviagin in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Так предки конструируются после этого класса
До
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Ilia Zviagin
Конструктор не бывает виртуальным
Я про виртуальные функции в конструкторе
источник

АК

Александр Караев... in supapro.cxx
Ilia Zviagin
Из конструктора виртуальная функция тоже обычно зовётся виртуально, потому что не всегда ясно кто из предков переопределил вызываемую
В конструкторе нет понятия наследника, поэтому компилятор может доказать статически, какие именно функции будут вызваны при виртуальном вызове. Но уже привели пример, что через вспомогательную функцию можно обойти это и появится необходимость в виртуальной таблице.
источник

IZ

Ilia Zviagin in supapro.cxx
Constantine Drozdov
Конструктор обязан синтезировать втбл
Да да да. Менять, если точнее
источник