История изменений
Исправление waker, (текущая версия) :
Покажи пример ООП Си кода без единого void* и кастов указателей.
э нет дружок. это уже читерство. откуда взялось такое требование? в OOP безопасное приведение типов (наподобие dynamic_cast) это нормальное явление. во всех языках это применяется. ну кроме C++ конечно, в котором эта фича обычно отключена из-за оверхедов, и всякой кривизны, вылезающей с множественным наследованием реализации. а чтобы реализовать dynamic_cast, ты хоть усрись - а кастовать указатель «под капотом» придется. другой вопрос, что такой каст будет спрятан в фреймворке, и будет безопаснее некуда.
Исходная версия waker, :
Покажи пример ООП Си кода без единого void* и кастов указателей.
э нет дружок. это уже читерство. откуда взялось такое требование? в OOP безопасное приведение типов (наподобие dynamic_cast) это нормальное явление. во всех языках это применяется. ну кроме C++ конечно, в котором эта фича обычно отключена из-за оверхедов. а чтобы реализовать dynamic_cast, ты хоть усрись - а кастовать указатель «под капотом» придется. другой вопрос, что такой каст будет спрятан в фреймворке, и будет безопаснее некуда.