В C++ существует ли предпочтительный способ работы с рекурсивной функцией, которая каждый раз повторно использует неизменный объект? Например (псевдо-код):Рекурсивные функции с постоянными параметрами
void func(HashMap h, Logger logger, int depth)
{
// Do stuff then call func recursively...
func(h, logger, depth+1);
}
Так каждый звонок мы переходим в нескольких объектов (хэш-карты и регистратора) без изменений. Да, мы можем пройти по ссылке, но она все еще кажется неэффективной и выглядит не очень красивой. Единственная альтернатива, о которой я могу думать, это глобальные переменные или объединение константных параметров в структуре.
Ну, есть причины, по которым существуют разные языки. Все они специализируются на разных вариантах использования и имеют принципиальные отличия. Наиболее оптимальным решением для одного конкретного языка может быть не лучшее решение для другого языка. –
В C++ собираются константные параметры в структуре и передаются по ссылке –
'Да, мы можем пройти по ссылке, но все равно кажется неэффективной', молись объяснить? – txtechhelp