Как на C++ написать рекурсивную функцию, возвращающую диапазон?C++

Программы на C++. Форум разработчиков
Anonymous
Как на C++ написать рекурсивную функцию, возвращающую диапазон?

Сообщение Anonymous »

В C++ мы сталкиваемся с двумя проблемами при написании рекурсивной функции, возвращающей диапазон
  • тип базового регистра отличается от типа рекурсивного регистра
    Диапазоны часто включают лямбда-выражения, поэтому тип возвращаемого значения — auto, что предотвращает рекурсию.
Давайте проиллюстрируем разложение сумм. Вот строгое (не ленивое) решение

Код: Выделить всё

std::list SumDecompStrict(unsigned int n)
{
if (n == 0)
return { {} }; // the sum of the empty list is 0 by convention
std::list ret;
for (unsigned int k = 1; k 

Подробнее здесь: [url]https://stackoverflow.com/questions/78696547/in-c-how-can-we-write-a-recursive-function-that-returns-a-range[/url]

Вернуться в «C++»