void
swap(shared_ptr& x) noexcept; // (1) C++11
constexpr void
swap(shared_ptr& x) noexcept; // (1) C++26
ę¦č¦
ä»ć®shared_ptrćŖććøć§ćÆććØćć¼ćæćå
„ćęæććć
å¹ę
*thisćØxć®ćć¼ćæćå
„ćęæććć
ę»ćå¤
ćŖć
ä¾å¤
ęććŖć
ä¾
#include <iostream>
#include <memory>
int main()
{
std::shared_ptr<int> a(new int(3));
std::shared_ptr<int> b(new int(1));
std::cout << a << std::endl;
std::cout << b << std::endl;
// aćØbćå
„ćęæćć
a.swap(b);
std::cout << a << std::endl;
std::cout << b << std::endl;
}
åŗåä¾
0x14ab010
0x14ab060
0x14ab060
0x14ab010
ćć¼ćøć§ć³
čØčŖ
- C++11
å¦ēē³»
- GCC: 4.3.6 ā
- Clang: 3.0 ā
- Visual C++: 2008 (TR1) ā , 2010 ā , 2012 ā , 2013 ā