현재 프로젝트를 진행 중이며 다음과 같은 문제가 있습니다.
두 가지 다른 방법으로 작업하려는 C ++ 메서드가 있습니다.
void MyFunction()
{
foo();
bar();
foobar();
}
void MyFunctionWithABonus()
{
foo();
bar();
doBonusStuff();
foobar();
}
그리고 실제 기능이 훨씬 길기 때문에 내 코드를 복제하지 않고 싶습니다. 문제는 어떤 상황에서도 MyFunctionWithABonus 대신 MyFunction이 호출 될 때 프로그램에 실행 시간을 추가해서는 안된다는 것입니다. 그렇기 때문에 C ++ 비교로 확인하는 부울 매개 변수를 가질 수 없습니다.
내 아이디어는 C ++ 템플릿을 사용하여 내 코드를 가상으로 복제하는 것이었지만 추가 실행 시간이없고 코드를 복제 할 필요가없는 방법은 생각할 수 없습니다.
나는 템플릿 전문가가 아니기 때문에 뭔가 빠졌을 수 있습니다.
여러분 중 아이디어가 있습니까? 아니면 C ++ 11에서는 불가능합니까?