我是lambda新手,我很難理解下面的lambda表達式的參數列表是如何工作的。在C++/CX中引用Lambda參數
的代碼是一個Facebook的身份驗證方法的一部分:
---------------- 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.)的認證完成時,運行由拉姆達
但定義的函數lambda函數需要了解這個特定的認證操作(我假設有一些結果會在完成時返回給我們)。基於lambda的參數列表,它看起來像我們剛剛聲明瞭一個指向web身份驗證結果的指針,而沒有實際指向任何東西。
thisOperation是如何結束引用正確的對象?
請注意,C++/CLI和C++/CX是不同的語言,儘管它們共享相同的語法。 C++/CLI定位CLI並使用垃圾收集對象模型; C++/CX以Windows運行時爲目標,並使用引用計數的基於COM的對象模型。 – 2012-02-07 06:15:46