<QtSwap> 代理页面
函数
void | qSwap(T &lhs, T &rhs) |
函数文档
[constexpr noexcept(...)]
template <typename T> void qSwap(T &lhs, T &rhs)
交换变量 lhs 和 rhs 的值,考虑类型特定的 swap()
重载。
此函数是 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
一无所知。
如果您已经知道 T
代表什么,那么请选择以下选项中的一个(按优先顺序)
lhs.swap(rhs);
如果存在这样的成员函数交换std::swap(lhs, rhs);
如果不存在类型特定的swap()
有关更多信息,请参阅 boost::swap()
在 boost.org
另请参阅 std::swap
在 cppreference.com,Swappable
在 cppreference.com。
注意:当 "std::is_nothrow_swappable_v<T>" 为真时,此函数不抛出任何异常。
© 2024 The Qt Company Ltd. 本文档的贡献内容归其各自所有者所有。本文档是在自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款下提供的。Qt 及其标志是 The Qt Company Ltd. 在芬兰和/或其他全球国家的 商标。所有其他商标均为各自所有者的财产。