Sisukord:
Video: Mis on C++ lambda?
2024 Autor: Lynn Donovan | [email protected]. Viimati modifitseeritud: 2023-12-15 23:45
C++11 ja uuemates versioonides a lambda väljend - nimetatakse sageli a lambda -on mugav viis anonüümse funktsiooniobjekti (sulguri) määratlemiseks otse kohas, kus see välja kutsutakse või funktsiooni argumendina edastatakse.
Mis tüüpi Lambda C++ sellega seoses on?
[C++11: 5,1. 2/3]: tüüp selle lambda -avaldis (mis on ka tüüp sulgemisobjekti kohta) on ainulaadne, nimetu mitteliitumine klass tüüp - kutsus sulgemist tüüp - mille omadusi kirjeldatakse allpool. See klass tüüp ei ole agregaat (8.5.
Lisaks, miks me vajame C++-s lambda-avaldisi? C++ kasutusele võetud funktsiooniobjektid ehk funktorid. Funktorid on klassid, mis koormavad operaatorit (). Teised programmeerimiskeeled, nagu Haskell, C#, Erlang või F#, võimaldavad funktsioonide määratlusi seal, kus neid kasutatakse. Need on tuntud kui lambda väljendid sest selle süntaks on sisse inspireeritud lambda arvutus.
Küsimus on ka selles, kuidas saate C++-s lambda-funktsiooni edasi anda?
3 võimalust lambda argumendina funktsioonile edastamiseks:
- Funktsiooni std:: kasutamine lambda-objekti deklareerimiseks. tühine lambdaNäide1()
- Typedefi kasutamine funktsiooni tüübi deklareerimiseks ja sellele lambda-funktsiooni määramiseks. tühine lambdaNäide2()
- Struktuuri kasutamine lambda deklareerimiseks.
Mis on lambda sulgur?
A lambda on sisuliselt funktsioon, mis on defineeritud pigem tekstisiseselt kui funktsioonide deklareerimise standardmeetod. lambdad võib sageli esemetena mööda saata. A sulgemine on funktsioon, mis piirab ümbritsevat olekut, viidates selle kehavälistele väljadele.