늦은 시간에 복잡한 코드 두 가지 순환 방법을 고려하십시오. 즉,이 두 기능은 다음과 같이 :심볼 방식으로 반복적으로 메소드를 호출 할 수있는 방법이 있습니까?
void foo(int x)
{
... foo(x);
}
void bar(int x)
{
... foo(x); // oops, I meant "bar"
}
이 내가 바란 (그리고 난 아직도 소원) "자기"와 같은 상징적 전화를 가지고 여러 번, 그래서 나는 이런 식으로 재 작성 수 :
void foo(int x)
{
... self(x);
}
void bar(int x)
{
... self(x); // great! this is what i meant --> bar
}
내가 생각할 수있는 유일한 해킹은 호출 스택에서 호출자를 얻고 호출하는 일반 함수 "self"를 작성하는 것입니다. 그러나 상속와 함께 사용할 수없는 것 :
void inherited(int x)
{
base.self(x);
}
이 :-)/등 귀하의 의견/아이디어 주셔서 대단히 감사합니다
으로. 재귀 람다 함수는 매우 유용 할 것이다. 이제는 람다 함수의 본문을 선언하기 전에 람다 함수를 포함하는 변수를 선언해야합니다. – xanatos
네, 유효한 유스 케이스입니다. –