C 11 の参照折りたたみルールの役割
参照折りたたみルールは、C 11 で完全転送を可能にする上で重要な役割を果たします。完全転送により、値、左辺値参照、または右辺値によってパラメータをシームレスに受け入れて渡す関数参照。
参照折りたたみルール
C 11 の参照折りたたみルールは次のとおりです。
参照の折りたたみの根拠
これらのルールは、パラメーターがどのように渡されるか (左辺値、右辺値、または右辺値参照によって) に関係なく、次のことを保証します。受信側関数では常に、完璧な要求タイプとして「認識」されます。 forwarding.
C での使用11 STL ユーティリティ関数
std::move() や std::move() などの STL ユーティリティ関数std::forward() は、内部で参照の折りたたみを利用して、完全な転送を容易にします。例:
template<class T> void Fwd(T & &v) { Call(std::forward<T>(v)); }
std::forward<>左辺値参照の場合は「& &」を「&」に、右辺値参照の場合は「& &」を「& &」に折りたたんで、Call が適切な形式でパラメータを受信できるようにします。
std との関係: :remove_reference
std::remove_reference のようなユーティリティを使用して、型推論から参照を削除できます。 (例: std::remove_reference
以上がC 11 参照折りたたみルールはどのようにして完全転送を可能にするのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。