Re[13]: А С++ то схлопывается...
От: so5team https://stiffstream.com
Дата: 04.11.19 15:04
Оценка: +1
Здравствуйте, B0FEE664, Вы писали:

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

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

Вы не можете ответить на простой вопрос. Когда сможете, тогда и можно будет продолжить разговор. Расписывать здесь пояснения элементарных вещей на три экрана у меня нет возможности.

Так что еще раз: А каким боком виртуальность функций к целому или не целому объекту?

S>>Есть ощущение, что вам матчасть нужно сперва подучить.

BFE>Это иллюзия.

Вы себе сильно льстите.

S>>>>Опять же, где именно шаблоны, лямбды или structured binding с if constexpr взаимоувязаны с динамической памятью?

BFE>>>Вопрос не только в динамической памяти, это просто пример. Всё гораздо сложнее.
S>>Давайте разберемся с более простыми вещами: где именно шаблоны, лямбды или structured binding с if constexpr взаимоувязаны с динамической памятью?
BFE>Никак не увязаны.

Вот и получается, что отсутствие динамической памяти вообще никак не превращает современный C++ в Си с классами. Поэтому у вас в исходном утверждении ошибка. Что и определяет все последующие заблуждения.

S>>Так у вас если нет динамической памяти и исключений не будет.

BFE>Это почему вы так думаете? Насколько я помню стандарт, память под исключения выделяется особым образом. Вроде бы implementation defined.

Потому что в распространенных реализациях память для исключений гарантированно есть только под bad_alloc. Остальные объекты исключений размещаются в хипе. Что и делает возможным существование exception_ptr, который для исключений работает как умный указатель.

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