Re[12]: А С++ то схлопывается...
От: B0FEE664  
Дата: 04.11.19 14:44
Оценка: :)
Здравствуйте, so5team, Вы писали:

BFE>>>>Ну раз нет динамического выделения памяти, значит нет виртуальных функций,

S>>>Каким боком динамическая память к виртуальным функциям?
BFE>>А зачем вам виртуальные функции если у вас есть целый объект?
S>А каким боком виртуальность функций к целому или не целому объекту?

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

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

Это иллюзия.

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

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

BFE>>Например, в std::array::at(size_type n ); есть ветка бросающая исключение. Если в коде нет ошибки, то эта ветка никогда не вызовется => нет 100% покрытие кода тестами => проверка кода провалена. Я же писал: бюрократия и особые требования.

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

S>О каких-таких ветках вы говорите?


00164       const_reference
00165       at(size_type __n) const
00166       {
00167         if (__n >= _Nm)
00168           std::__throw_out_of_range(__N("array::at"));  <--- об этой ветке
00169         return _M_instance[__n];
00170       }

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