C++では、名前のバインドと名前の参照に違いはありますか? C++ 14の標準(N4296)は、(3.4)の名前検索を次のように定義しています。C++での名前の参照と名前のバインドの違い
名前ルックアップは、その名前の宣言(3.1)と名前の関連付けを関連付けます。結合
名は宣言を見つけるプロセスである:私は標準でバインディング名の定義を見つけることができませんが、彼らのXL C/C++コンパイラのためのIBM Knowledge Centerのドキュメントが定義されて
テンプレート内で明示的または暗黙的に使用される各名前について
二つの定義の間の唯一の違いは、(1)バインディング名がテンプレートで使用される名前に特異的に参照し、ネームルックアップがを使用することを指す(2)バインディング名は、名前を参照することであると思われます名前の。
しかし、C++標準のオーバーロード解決に関するセクション(13.3)では、頻繁にバインディングが定義されていますが、定義はありません。このような意味での 'バインディング'の使用方法は、バインディングが引数と関数パラメータの関連付けを参照しているように見えます。まず
、この定義は、他の2つの定義のいずれかが異なるようで、それは(広く)に収まると思った名前検索の定義我々は機能の名前を比較することにより、その宣言にバインドされていることを前提とした場合引数とパラメータの型。これはセクション(13.3)で使用されているセンスとまったく同じ意味ではありませんが、適切な定義がなくても標準を理解しようとしています。
誰かが「ネームバインディング」または「バインディング」の定義が良好であれば、感謝します。
"ただし、C++標準のオーバーロード解決に関するセクション(13.3)では、「ドキュメント全体で一度だけ使用される名前バインディングはありませんが、おそらくバグです。 –