Информация об изменениях

Сообщение Re[13]: таблица виртуальных функций от 10.01.2022 4:21

Изменено 10.01.2022 4:40 ботаныч

Re[13]: таблица виртуальных функций
Здравствуйте, reversecode, Вы писали:

R>и тогда на вопрос при собеседовании — что выведет тот код с не виртуальными деструкторами использующие виртуальные методы

R>вы вы как практикующий программист с пруфами на все существующие компилеры скажете ?

>>from A

>>the end
Я конечно могу быть неправым, но это происходит в силу логики переопределения указателя на таблицу виртуальных функций на т.текущего класса. любой имплементер бы сделал без вопросов если есть ненулевой указатель на т.в.ф, и безусловно сделал бы этот вызов до вызова деструктора. Потому оно и вероятно везде одинаковое. Но это — детали реализации и стандарт это не обсуждает. В силу чего в теории, ткскть стандарта может присутствовать только УБ. и вот это УБ меня лично вполне удовлетворяет. и знаете почему?

R>хотя вопрос будет наверняка провокационным и задающий будет ожидать ответа — уб

потому как любой может проверить, в силу общей костыльности и кустарности отрасли а идет ли вызов из виртуального деструктора или нет, просто потому, что до собственно указателя на твф добраться тяжело и нереально в заявленные сроки. и, соответственно, путь в графе к конечному вызову будет чем дальше, тем запутаннее. Потому, лучше глянуть, что в стандарте и ответить.


R>и я в +100500 раз бы повторил, лавер с++ != программист с++

R>этот точно так же как гражданин страны не обязан знать наизусть все законы той страны где он проживает,

R>иначе юристы бы померли от голода

От зря вы эту тему подняли. Юристы вообще не оперируют формальными языками, они условно говоря "чешут от балды" вроде бы некоторые мысли, которые еще проверять и проверять на однозначность, хотя вероятность нелогичного противоречивого бреда коррелирует с "положением дел", хотя кто и как это посчитает эту противоречивость, особенно, если она преднамеренная, да? Но вот опыта общения с юристами в своей области у меня был. так, что и непреднамеренной неоднозначности от них хватает).
Re[13]: таблица виртуальных функций
Здравствуйте, reversecode, Вы писали:

R>и тогда на вопрос при собеседовании — что выведет тот код с не виртуальными деструкторами использующие виртуальные методы

R>вы вы как практикующий программист с пруфами на все существующие компилеры скажете ?

>>from A

>>the end
Я конечно могу быть неправым, но это происходит в силу логики переопределения указателя на таблицу виртуальных функций на т.текущего класса. любой имплементер бы сделал без вопросов если есть ненулевой указатель на т.в.ф (а где оно будет заменой указателя на this, или просто сменой указателя в рантайме в сях опять кто его знает, что это будет?), и безусловно сделал бы этот вызов до вызова деструктора. Потому оно и вероятно везде одинаковое. Но это — детали реализации и стандарт это не обсуждает. В силу чего в теории, ткскть стандарта может присутствовать только УБ. и вот это УБ меня лично вполне удовлетворяет. и знаете почему?

R>хотя вопрос будет наверняка провокационным и задающий будет ожидать ответа — уб

потому как любой может проверить, в силу общей костыльности и кустарности отрасли а идет ли вызов из виртуального деструктора или нет, просто потому, что до собственно указателя на твф добраться тяжело и нереально в заявленные сроки. и, соответственно, путь в графе к конечному вызову будет чем дальше, тем запутаннее. Потому, лучше глянуть, что в стандарте и ответить.


R>и я в +100500 раз бы повторил, лавер с++ != программист с++

R>этот точно так же как гражданин страны не обязан знать наизусть все законы той страны где он проживает,

R>иначе юристы бы померли от голода

От зря вы эту тему подняли. Юристы вообще не оперируют формальными языками, они условно говоря "чешут от балды" вроде бы некоторые мысли, которые еще проверять и проверять на однозначность, хотя вероятность нелогичного противоречивого бреда коррелирует с "положением дел", хотя кто и как это посчитает эту противоречивость, особенно, если она преднамеренная, да? Но вот опыта общения с юристами в своей области у меня был. так, что и непреднамеренной неоднозначности от них хватает).