table of contents
std::unique_ptr::swap(3) | C++ Standard Libary | std::unique_ptr::swap(3) |
NAME¶
std::unique_ptr::swap - std::unique_ptr::swap
Synopsis¶
void swap( unique_ptr& other ) noexcept; (since C++11)
Swaps the managed objects and associated deleters of *this and another
unique_ptr
object other.
Parameters¶
other - another unique_ptr object to swap the managed object and the deleter with
Return value¶
(none)
Example¶
// Run this code
#include <iostream>
#include <memory>
struct Foo
{
Foo(int _val) : val(_val) { std::cout << "Foo...\n"; }
~Foo() { std::cout << "~Foo...\n"; }
int val;
};
int main()
{
std::unique_ptr<Foo> up1(new Foo(1));
std::unique_ptr<Foo> up2(new Foo(2));
up1.swap(up2);
std::cout << "up1->val:" << up1->val <<
'\n';
std::cout << "up2->val:" << up2->val <<
'\n';
}
Output:¶
Foo...
Foo...
up1->val:2
up2->val:1
~Foo...
~Foo...
2024.06.10 | http://cppreference.com |