<QtSwap>プロキシページ

関数

void qSwap(T &lhs, T &rhs)

関数ドキュメント

[constexpr noexcept(...)] template <typename T> void qSwap(T &lhs, T &rhs)

型固有のswap() オーバーロードを考慮して、変数lhsrhs の値を交換します。

この関数はQtの boost::swap()と同等です。

using std::swap;   // bring std::swap into scope (for built-in types)
swap(lhs, rhs);    // unqualified call (picks up type-specific overloads
                   // via Argument-Dependent Lookup, or falls back to std::swap)

この関数は主にジェネリック・コードで使用します。従来はT について何も知らないので、上記の2行を書いていたはずです。

すでにT が何であるかを知っている場合は、次のオプションのいずれかを使用してください:

  • lhs.swap(rhs); そのようなメンバー・スワップが存在する場合
  • std::swap(lhs, rhs); 型固有の が存在しない場合swap()

詳細はboost.orgのboost::swap()

cppreference.comのstd::swap cppreference.comのSwappable参照してください。

注意: この関数は、"std::is_nothrow_swappable_v<T>" が true の場合、例外をスローしません。

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。