История изменений
Исправление www_linux_org_ru, (текущая версия) :
На си это будет примерно так:
нет, так это работать не будет
допустим у нас есть function fns[100] куда мы (рандомно) записываем и настоящие функции, и результат твоей compose(prep(f), prep(g)); теперь вопрос — нам fns[k](j) вызывать напрямую или через CALL(fns[k], j)?
но в целом, используя немного хаков, подход с функтором по-моему можно довести до рабочего состояния
Исправление www_linux_org_ru, :
На си это будет примерно так:
нет, так это работать не будет
допустим у нас есть function fns[100] куда мы (рандомно) записываем и настоящие функции, и результат твоей compose(prep(f), prep(g)); теперь вопрос — нам fns[k](j) вызывать напрямую или через CALL(fns[k], j)?
(по мелочи — там у тебя мелкие структуры аллоцируются маллоком — это путь к утечкам, их лучше отдавать напрямую)
но в целом, используя немного хаков, подход с функтором по-моему можно довести до рабочего состояния
Исходная версия www_linux_org_ru, :
нет, так это работать не будет
допустим у нас есть function fns[100] куда мы (рандомно) записываем и настоящие функции, и результат твоей compose(prep(f), prep(g)); теперь вопрос — нам fns[k](j) вызывать напрямую или через CALL(fns[k], j)?
(по мелочи — там у тебя мелкие структуры аллоцируются маллоком — это путь к утечкам, их лучше отдавать напрямую)
но в целом, используя немного хаков, подход с функтором по-моему можно довести до рабочего состояния