Lambda ifadelerinin nedeni, "daha uygun bir şekilde" örtük olarak işlev nesneleri oluşturur. Aşağıdaki örnekte gördüğünüz gibi, sadece daha az uygun ve uzun değil, aynı zamanda kafa karıştırıcı bir sözdizimi ve notasyonu da var."Lambda ifadeleri" nin avantajı nedir?
bunların hiçbirini kullanımları var mı, aslında kod daha okunaklı hale getirir nerede? böylelikle değişmeden kod doğal üst tırnağa akışını sürdürmenin doğru denir noktaya fonksiyonunun uygulanmasını yerleştirir çünkü
cout << count(vec, [&](int a){ return a < x; }) << endl; // lambda
cout << count(vec, Less_than<int> (x)) << endl; // normal functor def-n
Lambda sürümü daha uzun değil. “Less_than” tanımına sahip olmadığımız için, lambda olmayan bir eksiktir. –
Bu nasıl olur? Less_than (x) 'a" normal işlev tanımı "??? İlk örneğinize bakacak olursak, x parametresinin değerini iki parametreli bir karşılaştırıcıya dönüştürerek tek bir parametre karşılaştırıcısına dönüştürmeniz gerekir. Bu zaten "normal işlev tanımı" nın çok ötesine geçen bir işlevdir. –
AnT