সুচিপত্র:

একটি C++ ল্যাম্বডা কি?
একটি C++ ল্যাম্বডা কি?

ভিডিও: একটি C++ ল্যাম্বডা কি?

ভিডিও: একটি C++ ল্যাম্বডা কি?
ভিডিও: C++ এ ল্যাম্বডাস 2024, মে
Anonim

C++11 এবং পরবর্তীতে, a ল্যাম্বডা অভিব্যক্তি-প্রায়ই বলা হয় a ল্যাম্বডা -এটি একটি বেনামী ফাংশন অবজেক্ট (একটি ক্লোজার) সঠিক অবস্থানে সংজ্ঞায়িত করার একটি সুবিধাজনক উপায় যেখানে এটি একটি ফাংশনের জন্য একটি যুক্তি হিসাবে আহ্বান করা হয়েছে বা পাস করা হয়েছে৷

এই বিষয়ে, Lambda C++ কি ধরনের?

[C++11: 5.1। 2/3]: দ প্রকার এর ল্যাম্বডা - অভিব্যক্তি (যা এছাড়াও প্রকার অফ ক্লোজার অবজেক্ট) একটি অনন্য, নামহীন অ-ইউনিয়ন শ্রেণী প্রকার - বন্ধ বলা হয় প্রকার - যার বৈশিষ্ট্য নীচে বর্ণিত হয়েছে। এই বর্গ প্রকার একটি মোট নয় (8.5.

উপরন্তু, কেন আমাদের C++ এ ল্যাম্বডা এক্সপ্রেশন দরকার? সি++ প্রবর্তিত ফাংশন বস্তু, বা ফাংশন. ফাংশন হয় ক্লাস যা অপারেটর() ওভারলোড করে। অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন Haskell, C#, Erlang বা F# যেখানে ব্যবহার করা হয় ঠিক সেখানে ফাংশন সংজ্ঞা সক্ষম করে। এইগুলো হয় পরিচিত ল্যাম্বডা এক্সপ্রেশন কারণ এর সিনট্যাক্স হয় অনুপ্রাণিত ল্যাম্বডা ক্যালকুলাস

এছাড়াও প্রশ্ন হল, আপনি কিভাবে C++ এ একটি ল্যাম্বডা ফাংশন পাস করবেন?

একটি ফাংশনে যুক্তি হিসাবে একটি ল্যাম্বডা পাস করার 3 টি উপায়:

  1. একটি ল্যাম্বডা অবজেক্ট ঘোষণা করতে std:: ফাংশন ব্যবহার করে। অকার্যকর ল্যাম্বডা উদাহরণ1()
  2. টাইপডেফ ব্যবহার করে একটি ফাংশনের ধরন ঘোষণা করা এবং এটিকে একটি ল্যাম্বডা ফাংশন বরাদ্দ করা। অকার্যকর ল্যাম্বডা উদাহরণ2()
  3. একটি ল্যাম্বডা ঘোষণা করতে struct ব্যবহার করে।

একটি ল্যাম্বডা বন্ধ কি?

ক ল্যাম্বডা মূলত একটি ফাংশন যা ফাংশন ঘোষণা করার আদর্শ পদ্ধতির পরিবর্তে ইনলাইনে সংজ্ঞায়িত করা হয়। ল্যাম্বদাস প্রায়ই বস্তু হিসাবে চারপাশে পাস করা যেতে পারে. ক বন্ধ একটি ফাংশন যা তার শরীরের বাইরের ক্ষেত্রগুলিকে রেফারেন্স করে তার পার্শ্ববর্তী অবস্থাকে আবদ্ধ করে।