У С++ нет встроенной поддержки для ленивой оценки (как это делает Haskell).
Мне интересно, можно ли реализовать ленивую оценку на С++ разумным образом. Если да, как бы вы это сделали?
EDIT: Мне нравится ответ Конрада Рудольфа.
Мне интересно, возможно ли реализовать его более общим образом, например, используя параметризованный класс lazy, который по существу работает для T, как матрица_add работает для матрицы.
Любая операция на T вернется вместо лени. Единственная проблема - хранить аргументы и код операции внутри самого ленивого. Может ли кто-нибудь увидеть, как улучшить это?