STL ソースコード分析のコピー関数を見ていたら、このコードを見つけました
この __copy_dispatch は、オーバーロードされた () 演算子を持つ構造体であり、コピーで呼び出される場合、直接
直接この構造体を使用して () 演算子を呼び出します。ただし、構造体オブジェクトを使用しません。
これでいいですか?私はすぐに c++primer を調べましたが、答えが見つかりませんでした。 この質問に答えるのを手伝ってください。どうもどうも。
リーリー
これはクラスを呼び出しています
のデフォルトのコンストラクターであり、その機能は一時オブジェクトを生成することです。次へ
の機能は、first、last、result を実際のパラメータとして使用して、この一時オブジェクトに対して Operator() を呼び出すことです。
この構造体を使用して、() 演算子が呼び出されます。これが、名前のないオブジェクト
実際、lambdaはファンクターの効果を実現するためにoperator()をオーバーロードするクラスも作成しました。
lambda
リーリー
これはクラスを呼び出しています
リーリーのデフォルトのコンストラクターであり、その機能は一時オブジェクトを生成することです。次へ
リーリーの機能は、first、last、result を実際のパラメータとして使用して、この一時オブジェクトに対して Operator() を呼び出すことです。
この構造体を使用して、() 演算子が呼び出されます。これが、名前のないオブジェクト
を作成することを意味します。実際、
lambda
はファンクターの効果を実現するためにoperator()をオーバーロードするクラスも作成しました。