In C++ gibt es eine bevorzugte Möglichkeit, mit einer rekursiven Funktion umzugehen, die jedes Mal ein unverändertes Objekt wiederverwendet? Zum Beispiel (Pseudocode):Rekursive Funktionen mit konstanten Parametern
void func(HashMap h, Logger logger, int depth)
{
// Do stuff then call func recursively...
func(h, logger, depth+1);
}
Also jeder Aufruf, den wir in mehreren Objekten (Hash-Karte und Logger) unverändert übergeben. Ja, wir können durch Verweis gehen, aber es scheint immer noch ineffizient und sieht nicht sehr hübsch aus. Die einzige Alternative, die ich mir vorstellen kann, sind globale Variablen oder die Bündelung der konstanten Parameter in einer Struktur.
Nun, es gibt Gründe, warum es verschiedene Sprachen gibt. Sie alle spezialisieren sich auf verschiedene Anwendungsfälle und haben grundlegende Unterschiede. Die optimale Lösung für eine bestimmte Sprache ist möglicherweise nicht die beste Lösung für eine andere Sprache. –
In C++ bündeln Sie die konstanten Parameter in einer Struktur und übergeben Sie sie als Referenz –
"Ja, wir können durch Verweis gehen, aber es scheint immer noch ineffizient", bitte erklären? – txtechhelp