関数の引数依存名の参照 (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 の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示