最終更新日時:
が更新

履歴 編集

function
<memory>

std::unique_ptr::swap(C++11)

void swap(unique_ptr& x) noexcept;

概要

他のunique_ptrオブジェクトとデータを入れ替える。

要件

デリータDが、例外を投げないという保証のもとにswap可能であること。

効果

*thisxが保持する、ポインタとデリータオブジェクトそれぞれに対して、swap()関数を実行する。

戻り値

なし

#include <iostream>
#include <memory>

int main()
{
  std::unique_ptr<int> a(new int(3));
  std::unique_ptr<int> b(new int(1));

  // aとbを入れ替える
  a.swap(b);

  std::cout << *a << std::endl;
  std::cout << *b << std::endl;
}

出力

1
3

バージョン

言語

  • C++11

処理系