[Home]
[Edit this page]
[Recent Changes]
[Special Pages]
[Help]
CppKoenigLookup
Koenig Lookup (simplified): If you supply a function argument of class type, then to look up the correct function name the compiler considers matching names in the namespace containing the argument's data type.
[Edit this page] [Page history] [What links here] [Discuss this topic] [Printer Friendly]
CppKoenigLookup
(C++) Koenig Lookup
Named after Andrew Koenig. Definition from Herb Sutter, 'Exceptional C++':Koenig Lookup (simplified): If you supply a function argument of class type, then to look up the correct function name the compiler considers matching names in the namespace containing the argument's data type.
Example
namespace MySpace
{
struct MyStruct{ int mX; };
void setToZero(MyStruct& m)
{
m.mX = 0.0;
}
}
int main()
{
MySpace::MyStruct m;
setToZero(m); //looks like a normal function, but is from namespace MySpace
return 0;
}
[Edit this page] [Page history] [What links here] [Discuss this topic] [Printer Friendly]
