আর্গুমেন্ট-নির্ভর লুকআপ (ADL) হল ফাংশন-কল এক্সপ্রেশনে অযোগ্য ফাংশনের নামগুলি সন্ধান করার জন্য একটি প্রোটোকল৷
এই ফাংশন কল এক্সপ্রেশনগুলির মধ্যে ওভারলোডেড অপারেটরগুলিতে অন্তর্নিহিত ফাংশন কলগুলি অন্তর্ভুক্ত রয়েছে৷
ফাংশনের নামগুলি তাদের আর্গুমেন্টের নেমস্পেসগুলিতে দেখা হয় এবং সাধারণ অযোগ্য নাম লুকআপ দ্বারা বিবেচিত স্কোপ এবং নেমস্পেসগুলি ছাড়াও। আর্গুমেন্ট-নির্ভর লুকআপ একটি ভিন্ন নামস্থানে সংজ্ঞায়িত অপারেটর ব্যবহার করা সম্ভব করে তোলে।
উদাহরণ
namespace MyNamespace{ class A {}; void f( A &a, int i) {} } int main() { MyNamespace::A a; f( a, 0 ); //calls MyNamespace::f }কল করে
f-এ একটি ফাংশন কলের সন্ধান a এর উপর নির্ভরশীল ছিল। একই কেস <<এবং>> এর মত আর্গুমেন্টগুলিতে প্রয়োগ করা হয় যেগুলি std নামস্থানে দেখা হয় যখন আমরা cout, cin, endl, ইত্যাদি ব্যবহার করি।