Ich arbeite derzeit an einem Projekt und habe das folgende Problem.
Ich habe eine C ++ - Methode, mit der ich auf zwei verschiedene Arten arbeiten möchte:
void MyFunction()
{
foo();
bar();
foobar();
}
void MyFunctionWithABonus()
{
foo();
bar();
doBonusStuff();
foobar();
}
Und ich möchte meinen Code nicht duplizieren, da die eigentliche Funktion viel länger ist. Das Problem ist, dass ich unter keinen Umständen dem Programm Ausführungszeit hinzufügen darf, wenn MyFunction anstelle von MyFunctionWithABonus aufgerufen wird. Deshalb kann ich nicht einfach einen booleschen Parameter haben, den ich mit einem C ++ - Vergleich überprüfe.
Meine Idee wäre gewesen, C ++ - Vorlagen zu verwenden, um meinen Code virtuell zu duplizieren, aber ich kann mir keine Möglichkeit vorstellen, bei der ich keine zusätzliche Ausführungszeit habe und den Code nicht duplizieren muss.
Ich bin kein Experte für Vorlagen, daher fehlt mir möglicherweise etwas.
Hat jemand von euch eine Idee? Oder ist das in C ++ 11 einfach unmöglich?