Sdílet prostřednictvím


Vyhledávání názvu (Koenig) v závislosti na argumentu funkce

Kompilátor lze použít v závislosti na argumentu název k vyhledání definice neúplných funkce volání.Vyhledávání názvu závislých argument se také nazývá Koenig vyhledávání.Typ každý argument ve volání funkce je definována v rámci hierarchie oborů názvů, třídy, struktury, sdružení nebo šablony.Při zadávání neúplnému Příponové operátory volání funkce kompilátoru hledá definice funkce v hierarchii přidružené každý typ argumentu.

Příklad

Následující příklad pracuje v jazyce C++.NET 2003 a novější a chová se jako v C++ standard.Ve vzorku, kompilátor poznámky funkce f() trvá argument x.Argument x je typu A::X, která je definována v oboru názvů A.Kompilátor hledá oboru názvů A a nalezne definice funkce f() , která má 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

Visual C++.NET 2003 shodu rozšířeného kompilátoru