Сообщение Re[29]: Книжка по UB от 14.08.2025 12:10
Изменено 14.08.2025 12:22 rg45
Re[29]: Книжка по UB
Здравствуйте, so5team, Вы писали:
R>>Хотя, может же и проинлайнить
S>С точки зрения описанной в проблемной главе книги ситуации это вообще никакой роли не играет.
Ну, я согласился уже. Есть общие требования к виртуальным функциям, и есть уточнения к этим требования для конструкторов/деструкторов. И эти уточнения не отменяют общие требования, а только уточняют их. А те случаи, когда компилятор может заменить виртуальный вызов на прямой — это следует трактовать как оптимизации, не меняющие поведение. Всё верно?
S>А ситуация такая, что в "более лучших"(tm) языках мы можем полагаться на вызов "самой свежей" реализации виртуального метода в конструкторах/деструкторах.
Да, я в курсе. У них же там и времени жизни объекта нет, как такового.
R>>Хотя, может же и проинлайнить

S>С точки зрения описанной в проблемной главе книги ситуации это вообще никакой роли не играет.
Ну, я согласился уже. Есть общие требования к виртуальным функциям, и есть уточнения к этим требования для конструкторов/деструкторов. И эти уточнения не отменяют общие требования, а только уточняют их. А те случаи, когда компилятор может заменить виртуальный вызов на прямой — это следует трактовать как оптимизации, не меняющие поведение. Всё верно?
S>А ситуация такая, что в "более лучших"(tm) языках мы можем полагаться на вызов "самой свежей" реализации виртуального метода в конструкторах/деструкторах.
Да, я в курсе. У них же там и времени жизни объекта нет, как такового.
Re[29]: Книжка по UB
Здравствуйте, so5team, Вы писали:
R>>Хотя, может же и проинлайнить
S>С точки зрения описанной в проблемной главе книги ситуации это вообще никакой роли не играет.
Ну, я согласился уже. Есть общие требования к виртуальным функциям, и есть уточнения к этим требования для конструкторов/деструкторов. И эти уточнения не отменяют общие требования, а только уточняют их. А те случаи, когда компилятор может заменить виртуальный вызов на прямой — это следует трактовать как оптимизации, не меняющие поведение. Всё верно?
S>А ситуация такая, что в "более лучших"(tm) языках мы можем полагаться на вызов "самой свежей" реализации виртуального метода в конструкторах/деструкторах.
Да, я в курсе. У них же там нет и детерминированного времени жизни объектов, поэтому могут позволить себе такой беспредел.
R>>Хотя, может же и проинлайнить

S>С точки зрения описанной в проблемной главе книги ситуации это вообще никакой роли не играет.
Ну, я согласился уже. Есть общие требования к виртуальным функциям, и есть уточнения к этим требования для конструкторов/деструкторов. И эти уточнения не отменяют общие требования, а только уточняют их. А те случаи, когда компилятор может заменить виртуальный вызов на прямой — это следует трактовать как оптимизации, не меняющие поведение. Всё верно?
S>А ситуация такая, что в "более лучших"(tm) языках мы можем полагаться на вызов "самой свежей" реализации виртуального метода в конструкторах/деструкторах.
Да, я в курсе. У них же там нет и детерминированного времени жизни объектов, поэтому могут позволить себе такой беспредел.