আমাদের একটি ফাংশন ছিল যা একটি নন-ক্যাপচারিং ল্যাম্বদা নিজের মধ্যে অভ্যন্তরীণভাবে ব্যবহার করেছিল, যেমন:
void foo() {
auto bar = [](int a, int b){ return a + b; }
// code using bar(x,y) a bunch of times
}
এখন ল্যাম্বডা দ্বারা কার্যকর করা কার্যকারিতা অন্য কোথাও প্রয়োজনীয় হয়ে উঠেছে, তাই আমি ল্যাম্বডাকে foo()
বিশ্বব্যাপী / নেমস্পেসের বাইরে নিয়ে যেতে চলেছি । আমি হয় এটিকে একটি ল্যাম্বডা হিসাবে রেখে একটি অনুলিপি-অনুলিপি বিকল্প হিসাবে তৈরি করতে পারি বা এটি একটি উপযুক্ত ফাংশনে পরিবর্তন করতে পারি:
auto bar = [](int a, int b){ return a + b; } // option 1
int bar(int a, int b){ return a + b; } // option 2
void foo() {
// code using bar(x,y) a bunch of times
}
এটি একটি যথাযথ কার্যক্রমে পরিবর্তন করা তুচ্ছ, তবে এটি আমাকে লম্বা হিসাবে ছেড়ে না যাওয়ার কোনও কারণ আছে কিনা তা অবাক করে দিয়েছিল ? "নিয়মিত" গ্লোবাল ফাংশনগুলির পরিবর্তে সব জায়গায় কেবল ল্যাম্বডাস ব্যবহার না করার কোনও কারণ আছে কি?