Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 인수 종속 조회(Koenig 조회)란 무엇입니까?


인자 종속 조회(ADL)는 함수 호출 표현식에서 정규화되지 않은 함수 이름을 조회하기 위한 프로토콜입니다.

이러한 함수 호출 표현식에는 오버로드된 연산자에 대한 암시적 함수 호출이 포함됩니다.

함수 이름은 일반적인 정규화되지 않은 이름 조회에서 고려되는 범위 및 네임스페이스 외에도 인수의 네임스페이스에서 조회됩니다. 인수 종속 조회를 사용하면 다른 네임스페이스에 정의된 연산자를 사용할 수 있습니다.

예시

namespace MyNamespace{
   class A {};
   void f( A &a, int i) {}
}
int main() {
   MyNamespace::A a;
   f( a, 0 );    //calls MyNamespace::f
}

f에 대한 함수 호출 조회는 인수에 따라 다릅니다. cout, cin, endl 등을 사용할 때 std 네임스페이스에서 조회되는 <<및>>와 같은 인수에도 동일한 경우가 적용됩니다.