C++                
            Argument Afhankelijke naam opzoeken
        
        
            
    Zoeken…
Welke functies zijn gevonden
 Functies worden gevonden door eerst een set "bijbehorende klassen" en "bijbehorende naamruimten" te verzamelen die een of meer van de volgende items bevatten, afhankelijk van het argumenttype T Laten we eerst de regels weergeven voor namen van klassen, opsomming en specialisaties van klassensjablonen. 
-  Als Teen geneste klasse is, opsomming van leden, dan is de omringende klasse ervan.
-  Als Teen opsomming is (het kan ook een lid van de klas zijn!), De binnenste naamruimte ervan.
-  Als Teen klasse is (deze kan ook worden genest!), Alle basisklassen en de klasse zelf. De binnenste naamruimte van alle bijbehorende klassen.
-  Als TeenClassTemplate<TemplateArguments>(dit is ook een klasse!), De klassen en naamruimten die zijn gekoppeld aan de sjabloontype-argumenten, de naamruimte van een sjabloonsjabloonargument en de omringende klasse van een sjabloonsjabloonargument, als een sjabloonargument is een ledensjabloon.
Nu zijn er ook een paar regels voor ingebouwde typen
-  Als Teen pointer is naarUof een array vanU, de klassen en naamruimten die aanUgekoppeld. Voorbeeld:void (*fptr)(A); f(fptr);, bevat de naamruimten en klassen die zijn geassocieerd metvoid(A)(zie volgende regel).
-  Als Teen functietype is, de klassen en naamruimten die zijn gekoppeld aan parameter- en retourtypen. Voorbeeld:void(A)zou de naamruimten en klassen bevatten die aanAgekoppeld.
-  Als Teen pointer naar lid is, zijn de klassen en naamruimten die aan het lidtype zijn gekoppeld (mogelijk van toepassing op zowel pointer naar lidfuncties als pointer naar gegevenslid!). Voorbeeld:BA::*p; void (A::*pf)(B); f(p); f(pf);bevat de naamruimten en klassen die zijn gekoppeld aanA,B,void(B)(hetgeen opsommingsteken hierboven van toepassing is voor functietypen).
Alle functies en sjablonen binnen alle bijbehorende naamruimten worden gevonden op basis van argumentafhankelijke zoekopdracht. Bovendien worden friendpace-scope friend-functies gevonden die zijn opgegeven in bijbehorende klassen , die normaal niet zichtbaar zijn. Het gebruik van richtlijnen wordt echter genegeerd.
 Alle volgende voorbeeldoproepen zijn geldig, zonder f te kwalificeren op basis van de naamruimte in de oproep. 
namespace A {
   struct Z { };
   namespace I { void g(Z); }
   using namespace I;
   struct X { struct Y { }; friend void f(Y) { } };
   void f(X p) { }
   void f(std::shared_ptr<X> p) { }
}
// example calls
f(A::X());
f(A::X::Y());
f(std::make_shared<A::X>());
g(A::Z()); // invalid: "using namespace I;" is ignored!