Re[17]: А С++ то схлопывается...
От: alex_public  
Дата: 05.11.19 00:54
Оценка:
Здравствуйте, lpd, Вы писали:

_>>Более того, сам по себе динамический полиморфизм нужен в достаточно редких случаях. ... Хотя сейчас 90% таких задач можно удобно решить с помощью шаблонного параметра и лямбды.

lpd>Очень любопытно, чем шаблоны в данном случае лучше? Типа быстрее и поэтому эти шаблоны везде нужно городить вместо обычного полиморфизма?

Что значит "обычного"? Мне кажется очевидно, что динамический полиморфизм не должен быть обычным. Хотя бы потому, что задачи, в которых выбор исполняемого кода определяется только в рантайме является явно не большинством случаев. А "обычным" динамический полиморфизм стал в 90-ые во времена моды на эту тему (тогда думали что вообще всё будет решаться через ООП с наследованием и т.п.), да и другие средства были не особо развитыми.

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