Re[13]: А С++ то схлопывается...
От: alex_public  
Дата: 04.11.19 16:59
Оценка: +1
Здравствуйте, B0FEE664, Вы писали:

BFE>Если у вас есть указатель на базовый класс, то вызов виртуального метода оправдан.

BFE>Но откуда у вас указатель, если все объекты либо глобальные/статические, либо лежат на стеке? (разумеется рекурсивные вызовы без ограничения глубины на стеке запрещены)

Эммм, про оператор взятия адреса ты не в курсе? )))

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

Более того, у меня как раз не редко случается использование виртуальных функций без динамического выделения памяти на десктопе (хотя там с этим нет проблем). Как раз в виде передачи указателя на стековую переменную. И нужно это в одном весьма очевидном случае: когда одним из параметров библиотечной (т.е. чужой, которую мы не можем переписать под современный стиль с шаблонным параметром и использовать лямбду) функции является указатель на объект с виртуальным функциями (обычно порождённый от какого-то абстрактного класса из этой же библиотеки).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.