Schreiben der Universal Memoization-Funktion in C ++ 11

Suchen Sie nach einer Möglichkeit, eine universelle generische Merkfunktion zu implementieren, die eine Funktion übernimmt und die gemerkte Version derselben zurückgibt?

Auf der Suche nach etwas wie @memo (von Norvings Seite) Dekorateur in Python.

def memo(f):
    table = {}
    def fmemo(*args):
        if args not in table:
            table[args] = f(*args)
        return table[args]
    fmemo.memo = table
    return fmemo

Gibt es eine Möglichkeit, generische und wiederverwendbare Dekoratoren in C ++ auszudrücken, wobei möglicherweise die neuen Funktionen von C ++ 11 verwendet werden?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage