Orodha ya maudhui:
Video: Lambda ya C++ ni nini?
2024 Mwandishi: Lynn Donovan | [email protected]. Mwisho uliobadilishwa: 2023-12-15 23:53
Katika C++11 na baadaye, a lambda kujieleza-mara nyingi huitwa a lambda -ni njia rahisi ya kufafanua kitu cha kukokotoa kisichojulikana (kufungwa) mahali ambapo kimealikwa au kupitishwa kama hoja kwa chaguo la kukokotoa.
Kuhusiana na hili, Lambda C++ ni ya aina gani?
[C++11: 5.1. 2/3]: The aina ya lambda -jieleza (ambayo pia ni aina ya kitu cha kufungwa) ni darasa la kipekee, lisilo na jina lisilo la muungano aina - inayoitwa kufungwa aina - ambao mali zao zimeelezwa hapa chini. Darasa hili aina sio jumla (8.5.
Kwa kuongeza, kwa nini tunahitaji misemo ya lambda katika C++? C++ ilianzisha vitu vya kukokotoa, au vitendaji. Vitendaji ni madarasa ambayo hupakia opereta (). Lugha zingine za upangaji kama vile Haskell, C#, Erlang au F# huwezesha ufafanuzi wa utendakazi pale zinapotumika. Haya ni inayojulikana kama maneno ya lambda kwa sababu syntax yake ni aliongoza katika lambda hesabu.
Swali pia ni, unapitishaje kazi ya lambda katika C++?
Njia 3 za kupitisha lambda kama hoja kwa kazi:
- Kutumia std::function kutangaza kitu cha lambda. utupu lambdaMfano1()
- Kutumia typedef kutangaza aina ya kazi na kuikabidhi kazi ya lambda. utupu lambdaMfano2()
- Kutumia muundo kutangaza lambda.
Kufungwa kwa lambda ni nini?
A lambda kimsingi ni chaguo la kukokotoa ambalo linafafanuliwa ndani badala ya mbinu ya kawaida ya kutangaza vitendaji. Lambdas inaweza kupitishwa mara kwa mara kama vitu. A kufungwa ni chaguo la kukokotoa linaloambatanisha hali inayozunguka kwa kurejelea nyuga zilizo nje ya mwili wake.