LINUX.ORG.RU

История изменений

Исправление 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)?

(по мелочи — там у тебя мелкие структуры аллоцируются маллоком — это путь к утечкам, их лучше отдавать напрямую)

но в целом, используя немного хаков, подход с функтором по-моему можно довести до рабочего состояния