0

非修飾名ルックアップ、「通常の非修飾ルックアップ」および「引数依存の名前ルックアップ」(ADL) について、どちらが最初に発生するかを標準で見つけることができません。

繰り返しますが、どちらもオーバーロード候補セットに何かを追加しようとしていますが、順序は問題ではないようです。しかし、どちらが最初に起こるかを知ることはまだ良いでしょう.

ありがとう

4

1 に答える 1

1

どちらが先かは関係ありませんよね?名前ルックアップは、可能な名前のセットを生成します。

3.4名前ルックアップ
名前ルックアップは、名前が関数名であることがわかった場合、複数の宣言を名前に関連付けることができます。宣言は、オーバーロードされた関数のセットを形成すると言われています。

規格は具体的に「セット」と言っています。数学的構成として、集合{1,2,3}は{2,3,1}および{3,2,1}と同じです。順序は関係ありません。重要なのは、過負荷の解決とアプリケーションアクセスルールがいつ発生するかです。ここで、標準は非常に明確です。イントロ段落から3.4への引用:

オーバーロードの解決は、名前の検索が成功した後に行われます。アクセスルールは、名前の検索と関数のオーバーロードの解決が成功した場合にのみ考慮されます。

于 2012-10-18T14:28:17.020 に答える