Агуулгын хүснэгт:
Видео: C++ lambda гэж юу вэ?
2024 Зохиолч: Lynn Donovan | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2023-12-15 23:50
C++11 болон түүнээс хойшхи хувилбаруудад a ламбда илэрхийлэл- ихэвчлэн а гэж нэрлэдэг ламбда -нь нэр нь үл мэдэгдэх функцийн объектыг (хаалт) тухайн функцэд аргумент болгон дуудсан эсвэл дамжуулсан байршилд нь тодорхойлох тохиромжтой арга юм.
Үүнтэй холбогдуулан Lambda C++ ямар төрөл вэ?
[C++ 11: 5.1. 2/3]: The төрөл -ийн ламбда -илэрхийлэл (энэ нь мөн төрөл хаах объект) нь өвөрмөц, нэргүй, нэгдмэл бус анги юм төрөл - хаалт гэж нэрлэдэг төрөл - тэдгээрийн шинж чанарыг доор тайлбарласан болно. Энэ анги төрөл нэгдэл биш (8.5.
Нэмж хэлэхэд C++ хэл дээр ламбда илэрхийлэл яагаад хэрэгтэй байна вэ? C++ Функцийн объект буюу функцийг нэвтрүүлсэн. Функторууд байна оператор()-ыг хэт ачаалдаг ангиуд. Haskell, C#, Erlang эсвэл F# зэрэг бусад програмчлалын хэлүүд нь функцын тодорхойлолтыг ашиглаж байгаа газартаа идэвхжүүлдэг. Эдгээр байна гэж нэрлэдэг ламбда илэрхийллүүд Учир нь түүний синтакс байна урам зориг авсан ламбда тооцоо.
Мөн асуулт бол C++ хэл дээр ламбда функцийг хэрхэн дамжуулах вэ?
Ламбда-г функцэд аргумент болгон дамжуулах 3 арга:
- std::функцийг ашиглан lambda объектыг зарлана. хүчингүй lambdaЖишээ1()
- Typedef-ийг ашиглан функцийн төрлийг зарлаж, түүнд lambda функцийг онооно. хүчингүй lambdaЖишээ2()
- Lambda зарлахын тулд бүтцийг ашиглана.
Ламбда хаалт гэж юу вэ?
А ламбда нь үндсэндээ функцийг зарлах стандарт аргаас илүү шугамаар тодорхойлогдсон функц юм. Ламбда нар ихэвчлэн объект хэлбэрээр дамжуулж болно. А хаалт нь түүний биеийн гадна талбаруудыг лавлах замаар хүрээлэн буй төлөвийг нь хаадаг функц юм.