함수에 대한 인수 종속 이름(Koenig) 조회
컴파일러에서는 인수 종속 이름 조회를 사용하여 정규화되지 않은 함수 호출의 정의를 찾을 수 있습니다. 인수 종속 이름 조회를 Koenig 조회라고도 합니다. 함수 호출에 있는 모든 인수의 형식은 네임스페이스, 클래스, 구조체, 공용 구조체 또는 템플릿의 계층 구조 내에서 정의됩니다. 정규 화되지 않은 후위 함수 호출을 지정하면 컴파일러는 각 인수 형식과 연결된 계층 구조에서 함수 정의를 검색합니다.
예시
이 샘플에서 컴파일러는 f()
함수가 x
인수를 사용하는 것을 확인합니다. x
인수는 A::X
형식이며, 이 형식은 A
네임스페이스에서 정의됩니다. 컴파일러는 A
네임스페이스를 검색하고 f()
형식의 인수를 사용하는 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);
}
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기