Lambda ifodalari misollar bilan. Yuqori darajadagi funktsiyalar va lambdalar


Download 37.33 Kb.
bet6/17
Sana25.10.2023
Hajmi37.33 Kb.
#1720034
1   2   3   4   5   6   7   8   9   ...   17
Bog'liq
Lambda ifodalari misollar bilan

Umumiy majburiyat (C++14)
C++ 14 da siz yangi o'zgaruvchilarni commit bandida e'lon qilishingiz va ishga tushirishingiz mumkin. Bu o'zgaruvchilar lambda funktsiyasining tashqi doirasida mavjudligini talab qilmaydi. Initializatsiya har qanday ixtiyoriy ifoda sifatida ifodalanishi mumkin. Yangi o'zgaruvchining turi ifoda tomonidan ishlab chiqarilgan turga qarab belgilanadi. Bu xususiyatning afzalliklaridan biri shundaki, C++ 14 da qo‘shiladigan doiradan faqat harakatlanuvchi o‘zgaruvchilar (masalan, std::unique_ptr) shu tarzda olinishi va lambda ifodasida ishlatilishi mumkin.
pNums = make_unique (raqamlar); //... auto a = () ( // ptr dan foydalaning);Parametrlar ro'yxati
O'zgaruvchilarni qo'lga kiritish imkoniyatidan tashqari, lambda ifodalari kirish parametrlarini qabul qilishi mumkin. Parametrlar ro'yxati (standart sintaksisida - lambda deklaratori) ixtiyoriy va ko'pincha funksiya parametrlari ro'yxatiga o'xshaydi.
int y = (int birinchi, int soniya) (birinchi + soniyani qaytarish; );
IN C++ 14, agar umumiy parametrlar ishlatilsa, auto kalit so'zi tur spetsifikatsiyasi sifatida ishlatilishi mumkin. Bu kompilyatorga funksiya chaqiruvi bayonotini shablon sifatida yaratishni buyuradi. Parametrlar ro'yxatidagi auto kalit so'zining har bir nusxasi alohida turdagi parametrga teng.
auto y = (avtomatik birinchi, avtomatik ikkinchi) ( birinchi + soniyani qaytarish; );
Lambda ifodasi argument sifatida boshqa lambda ifodasini olishi mumkin. Qo'shimcha ma'lumot olish uchun qarang ("Yuqori tartibli Lambda ifodalari" bo'limi).
Parametrlar roʻyxati ixtiyoriy boʻlgani uchun lambda ifodasi va lambda deklaratoriga hech qanday argument oʻtkazilmagan boʻlsa, boʻsh qavslarni oʻtkazib yuborishingiz mumkin: hech qanday elementni oʻz ichiga olmaydi. istisno spetsifikatsiyasiorqaga qaytish turi yoki o'zgaruvchan.
O'zgaruvchan spetsifikatsiya
Odatda, lambda ifodasining funksiya chaqiruvi operatori qiymat bo'yicha doimiydir, lekin mutable kalit so'zi buni bekor qiladi. U o'zgaruvchan ma'lumotlar a'zolarini yaratmaydi. O'zgaruvchan spetsifikatsiya lambda ifodasining tanasiga qiymat bo'yicha olingan o'zgaruvchilarni o'zgartirish imkonini beradi. Ushbu maqolaning keyingi qismidagi ba'zi misollar o'zgaruvchan kalit so'zdan foydalanishni ko'rsatadi.

Download 37.33 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   17




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling