Სარჩევი:

რა არის C++ ლამბდა?
რა არის C++ ლამბდა?

ვიდეო: რა არის C++ ლამბდა?

ვიდეო: რა არის C++ ლამბდა?
ვიდეო: Lambdas in C++ 2024, ნოემბერი
Anonim

C++11-ში და შემდეგში, ა ლამბდა გამოხატულება - ხშირად უწოდებენ ა ლამბდა -არის მოსახერხებელი გზა ანონიმური ფუნქციის ობიექტის (დახურვის) განსასაზღვრად სწორედ იმ ადგილას, სადაც ის გამოძახებულია ან არგუმენტად გადაეცემა ფუნქციას.

ამასთან დაკავშირებით, რა ტიპისაა Lambda C++?

[C++11: 5.1. 2/3]: ტიპი საქართველოს ლამბდა -გამოთქმა (რომელიც ასევე არის ტიპი დახურვის ობიექტის) არის უნიკალური, უსახელო არა-კავშირის კლასი ტიპი - დაუძახა დახურვას ტიპი - რომლის თვისებები აღწერილია ქვემოთ. Ეს კლასი ტიპი არ არის აგრეგატი (8.5.

გარდა ამისა, რატომ გვჭირდება ლამბდა გამონათქვამები C++-ში? C++ შემოღებული ფუნქციის ობიექტები, ან ფუნქციები. ფუნქციონერები არიან კლასები, რომლებიც გადატვირთავს ოპერატორს(). სხვა პროგრამირების ენები, როგორიცაა Haskell, C#, Erlang ან F#, ჩართავენ ფუნქციების განმარტებებს იქ, სადაც ისინი გამოიყენება. ესენი არიან ცნობილი როგორც ლამბდა გამონათქვამები რადგან მისი სინტაქსი არის შთაგონებული ლამბდა გაანგარიშება.

ასევე საკითხავია, როგორ უნდა გაიაროთ ლამბდა ფუნქცია C++-ში?

ლამბდას არგუმენტად ფუნქციაში გადაცემის 3 გზა:

  1. std:: ფუნქციის გამოყენება ლამბდა ობიექტის გამოსაცხადებლად. void lambdaExample1()
  2. typedef-ის გამოყენება ფუნქციის ტიპის გამოსაცხადებლად და ლამბდა ფუნქციის მინიჭებისთვის. void lambdaExample2()
  3. struct-ის გამოყენება ლამბდას გამოსაცხადებლად.

რა არის ლამბდა დახურვა?

ა ლამბდა არსებითად არის ფუნქცია, რომელიც განისაზღვრება inline და არა ფუნქციების გამოცხადების სტანდარტული მეთოდით. ლამბდას შეიძლება ხშირად გადაიტანონ, როგორც საგნები. ა დახურვა არის ფუნქცია, რომელიც მოიცავს მის გარემომცველ მდგომარეობას მისი სხეულის გარე ველების მითითებით.