Je suis actuellement en train de travailler sur un projet et j'ai le problème suivant.
J'ai un C++ méthode que je veux travailler de deux façons différentes :
void MyFunction()
{
foo();
bar();
foobar();
}
void MyFunctionWithABonus()
{
foo();
bar();
doBonusStuff();
foobar();
}
Et je voudrais de ne pas dupliquer mon code parce que la fonction réelle est beaucoup plus long. Le problème est que je ne doit pas en aucun cas ajouter de temps d'exécution du programme lorsque la fonction MyFunction est appelée à la place de MyFunctionWithABonus. C'est pourquoi je ne peux pas juste avoir un paramètre booléen qui j'ai vérifier avec un C++ comparaison.
Mon idée aurait été d'utiliser des modèles C++ pour pratiquement dupliquer mon code, mais je ne peux pas penser à une manière de faire que je n'ai pas d'exécution supplémentaire de temps et je n'ai pas de dupliquer le code.
Je ne suis pas un expert avec des modèles, donc j'ai peut-être raté quelque chose.
Ne l'un de vous a une idée? Ou est-ce tout simplement impossible en C++11?