Что ж, это довольно открытый вопрос, но Эрик Липперт написал (ну, на самом деле, два), скорее, длинный ряд именно по этой теме . Не совсем правильный язык, но он все равно должен быть довольно полезным и дать общее представление.
Хотя реализация CPS в C ++ кажется большой работой только для исправления одной рекурсивной функции, когда вы можете просто использовать некоторый алгоритм, чтобы сделать функцию итеративной с очередью (вы по-прежнему используете в основном то же количество данных, но куча гораздо менее ограничена).