Re[28]: Книжка по UB
От: so5team https://stiffstream.com
Дата: 14.08.25 11:06
Оценка:
Здравствуйте, rg45, Вы писали:

R>Хотя, может же и проинлайнить


С точки зрения описанной в проблемной главе книги ситуации это вообще никакой роли не играет.

А ситуация такая, что в "более лучших"(tm) языках мы можем полагаться на вызов "самой свежей" реализации виртуального метода в конструкторах/деструкторах. И на этом могут быть построенны некоторые проектные решения. Типа того, что есть базовый класс, в конструкторе которого всегда вызывается виртуальный метод preallocate_resources. А производным классам достаточно просто переопределить этот метод у себя не заботясь о том, кто его вызовет (вызовет как раз базовый класс).

Тогда как в С++ этот паттерн не будет работать от слова совсем. С preallocate_resources нужно будет колупаться в конструкторах классов-наследников.

Каким образом при этом в C++ будет происходить вызов preallocate_resources ну вот не важно со слова совсем, если вы обычный пользователь языка.

Если вы плохо знаете C++ или тащите в С++ привычки из "более лучших"(tm) языков, то ждите сюрпризов.

О чем, собственно, в этой проблемной главе и написано.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.