Sdílet prostřednictvím


Vyhledávání názvu závislého na argumentu (Koenig) ve funkcích

Kompilátor může použít vyhledávání názvu závislého na argumentu pro vyhledání definice neúplného volání funkce.Pro vyhledávání názvu závislého na argumentu je rovněž používán termín vyhledávání Koenig.Typ každého argumentu ve volání funkce je definován v rámci hierarchie oborů názvů, tříd, struktur, sjednocení nebo šablon.Při zadání neúplného volání funkce postfix vyhledává kompilátor definici funkce v hierarchii přidružené ke každému typu argumentu.

Příklad

V příkladu kompilátor zaznamená, že funkce f() přebírá argument x.Argument x je typu A::X, který je definován v oboru názvů A.Kompilátor vyhledá obor názvů A a najde definici funkce f(), která přebírá argument typu A::X.

// argument_dependent_name_koenig_lookup_on_functions.cpp
namespace A
{
   struct X
   {
   };
   void f(const X&)
   {
   }
}
int main()
{
// The compiler finds A::f() in namespace A, which is where 
// the type of argument x is defined. The type of x is A::X.
   A::X x;
   f(x);   
}

Viz také

Další zdroje

Rozšířená shoda s kompilátorem prostředí Visual C++ .NET 2003