2 つのオーバーロードされた関数を定義しました。それらの宣言は次のとおりです。
template <class T> void Foo(const T *p); // lets call this Foo_p
template <class T> void Foo(const T& r); // lets call this Foo_r
電話すると
Foo( ptr_to_non_const );
Foo_r
呼ばれます。最適な一致を探すときに、定数修飾がポインターから取り除かれると想定しました。というのは予想T*
以上に専門的なので。T&
Foo_p
テンプレートの引数推定規則と一致の優先順位をリストした優れたリソースを教えてください。
この特定のケースtemplate <class T> void Foo(const T& r)
では、非ポインター型で呼び出される予定です。const
修飾の有無にかかわらず関数を定義する必要があるということですか。1 つの引数については大したことではありませんが、私の関数は複数のポインターを使用するため、繰り返しを避けたいと思います。任意の提案をいただければ幸いです。