2016-06-20 6 views

risposta

77

Il primo è un lambda senza elenco parametri e una chiamata successiva. []{} è equivalente [](){} così l'intera riga equivale a

[](){}(); 

La seconda è una coppia di bretelle, che introducono e quindi chiudere immediatamente un ambito, seguita da una definizione lambda inutilizzato senza lista di parametri :

{ 
    // empty scope 
} 
[]{}; // lambda 

È possibile fare riferimento a http://en.cppreference.com/w/cpp/language/lambda per le variazioni sul sintassi definizione lambda.

40
  • Questa è una chiamata lambda

    []{}(); 
    

    è equivalente a

    [](){}(); 
    
  • Il secondo è un ambito vuoto, seguito da un lambda (inutilizzato).

I paramenti sono facoltativi per lambda senza parametro.

Problemi correlati