История изменений
Исправление firkax, (текущая версия) :
Если речь про Си, то виртуальные методы (да и вообще указатели на функции) надо использовать только там, где без них никак не обойтись. Потому как передача адреса кода через переменную повышает поверхность атаки. Именно через такие конструкции (хотя, не только через них) экспойты повреждения памяти превращаются в RCE.
Так что, возможность условного полиморфизма без использования самодельной динамической линковки кода - вполне полезная вещь. Хотя я ни разу этой конструкцией ещё не пользовался.
Исправление firkax, :
Если речь про Си, то виртуальные методы (да и вообще указатели на функции) надо использовать только там, где без них никак не обойтись. Потому как передача адреса кода через переменную повышает поверхность атаки. Именно через такие конструкции (хотя, не только через них) экспойты повреждения памяти превращаются в RCE.
Так что, возможность условного полиморфизма и при этом полностью статической линковки всего кода - вполне полезная вещь. Хотя я ни разу этой конструкцией ещё не пользовался.
Исходная версия firkax, :
Если речь про Си, то виртуальные методы (да и вообще указатели на функции) надо использовать только там, где без них никак не обойтись. Потому как передача адреса кода через переменную повышает поверхность атаки. Именно через такие конструкции (хотя, не только через них) экспойты повреждения памяти превращаются в RCE.