저는 람다에 익숙하지 않아 다음 람다 식의 매개 변수 목록이 어떻게 작동하는지 이해하기가 어려워요.C++/CX에서 람다 파라미터 참조하기
---------------- begin snippet ------------------
auto webAuthenticationOperation = WebAuthenticationBroker::AuthenticateAsync(WebAuthenticationOptions::Default, startURI, endURI);
webAuthenticationOperation->Completed = ref new AsyncOperationCompletedHandler<WebAuthenticationResult^>([output, facebookOutput, facebookToken](IAsyncOperation<WebAuthenticationResult^>^ thisOperation)
{
if (thisOperation->ErrorCode.Value == 0)
----------------some other stuff ---------------
은 특히, 내가 thisOperation 실제로 현재 처리되고있는 WebAuthenticationResult을 말한다 방법을 모른다 :
코드는 페이스 북의 인증 방법의 일부입니다.
1) 비동기 인증
2) 상기 인증이 완료되면, 람다
그러나 의해 정의 된 함수를 실행를 시작으로
가 I 블록을 읽어 람다 함수는이 특정 인증 연산에 대해 알아야합니다. (필자는 완성되었을 때 어떤 종류의 결과가 있다고 가정합니다.) 람다의 매개 변수 목록을 기반으로, 실제로 아무 것도 가리 키지 않고 웹 인증 결과에 대한 포인터를 선언 한 것처럼 보입니다.
어떻게 thisOperation이 올바른 개체를 참조하게됩니까?
C++/CLI와 C++/CX는 서로 다른 언어이지만 동일한 구문을 많이 사용합니다. C++/CLI는 CLI를 대상으로하며 가비지 수집 객체 모델을 사용합니다. C++/CX는 Windows 런타임을 대상으로하고 참조 카운팅 된 COM 기반 개체 모델을 사용합니다. –