การค้นหาที่ขึ้นกับอาร์กิวเมนต์ (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 เป็นต้น