string::swap
交换内容。
提要
void
swap(
string& other);
描述
交换此字符串的内容与另一个字符串的内容。各自的 boost::container::pmr::memory_resource
对象的所有权不被转移。
-
如果
&other == this
,则不执行任何操作。否则, -
如果
*other.storage() == *this->storage()
,则以恒定时间交换底层内存的所有权,不会抛出异常。所有迭代器和引用保持有效。否则, -
通过复制逻辑上交换内容,这可能抛出异常。在这种情况下,所有迭代器和引用都会失效。
复杂度
常数时间或与 size()
+ other.size()
线性相关。
异常安全性
强保证。调用 memory_resource::allocate
可能会抛出异常。