Mündəricat:
Video: C++ lambda nədir?
2024 Müəllif: Lynn Donovan | [email protected]. Son dəyişdirildi: 2023-12-15 23:43
C++ 11 və daha sonra, a lambda ifadə - çox vaxt a deyilir lambda - anonim funksiya obyektini (bağlama) birbaşa onun çağırıldığı və ya funksiyaya arqument kimi ötürüldüyü yerdə təyin etməyin əlverişli üsuludur.
Bununla əlaqədar olaraq, Lambda C++ hansı növüdür?
[C++11: 5.1. 2/3]: The növü -nin lambda -ifadə (bu da növü bağlanma obyektinin) unikal, adı açıqlanmayan birləşməyən sinifdir növü - bağlanma adlanır növü - xassələri aşağıda təsvir olunan. Bu sinif növü məcmu deyil (8.5.
Bundan əlavə, niyə C++ dilində lambda ifadələrinə ehtiyacımız var? C++ təqdim edilmiş funksiya obyektləri və ya funktorlar. Funktorlar var operatoru () yükləyən siniflər. Haskell, C#, Erlang və ya F# kimi digər proqramlaşdırma dilləri istifadə olunduqları yerdə funksiya təriflərini aktivləşdirir. Bunlar var kimi tanınır lambda ifadələri çünki onun sintaksisi edir ilhamlandı lambda hesablama.
Həm də sual budur ki, C++ dilində lambda funksiyasını necə ötürmək olar?
Lambdanın funksiyaya arqument kimi ötürülməsinin 3 yolu:
- Lambda obyektini elan etmək üçün std::funksiyasından istifadə edin. boş lambdaMisal1()
- Funksiya növünü elan etmək və ona lambda funksiyası təyin etmək üçün typedef-dən istifadə edin. boş lambdaMisal2()
- Lambda elan etmək üçün strukturdan istifadə edin.
Lambda bağlanması nədir?
A lambda mahiyyətcə funksiyaları elan etmək üçün standart metoddan daha çox daxili müəyyən edilmiş funksiyadır. Lambdalar tez-tez obyekt kimi ətrafa ötürülə bilər. A bağlanması gövdəsindən kənar sahələrə istinad edərək ətrafdakı vəziyyəti əhatə edən funksiyadır.