<QtSwap> Proxy Page
函数
void | qSwap (T & lhs , T & rhs ) |
函数文档编制
[constexpr noexcept(...)]
template <typename T>
void
qSwap
(
T
&
lhs
,
T
&
rhs
)
Exchanges the values of variables
lhs
and
rhs
, taking type-specific
swap()
overloads into account.
This function is Qt's version of
boost::swap()
, and is equivalent to
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)
Use this function primarily in generic code, where you would traditionally have written the above two lines, because you don't know anything about
T
.
If you already know what
T
is, then use one of the following options, in order of preference:
-
lhs.swap(rhs);
if such a member-swap exists -
std::swap(lhs, rhs);
if no type-specificswap()
exists
见
boost::swap()
on boost.org
了解更多细节。
另请参阅
std::swap
on cppreference.com
,
Swappable
on cppreference.com
.
注意: This function does not throw any exception when "std::is_nothrow_swappable_v<T>" is true.