當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ utility swap用法及代碼示例



描述

它交換 a 和 b 的值。

聲明

以下是 std::swap 函數的聲明。

template <class T> void swap (T& a, T& b);

C++11

template <class T> void swap (T& a, T& b)
   noexcept (is_nothrow_move_constructible<T>::value && is_nothrow_move_assignable<T>::value);

參數

a, b- 這是兩個對象。

返回值

異常

Basic guarantee- 如果類型 T 的構造或賦值拋出。

數據競爭

a 和 b 都被修改。

示例

在下麵的例子中解釋了 std::swap 函數。

#include <iostream>
#include <utility>

int main () {

   int foo[4];
   int bar[] = {100,200,300,400};
   std::swap(foo,bar);

   std::cout << "foo contains:";
   for (int i:foo) std::cout << ' ' << i;
   std::cout << '\n';

   return 0;
}

讓我們編譯並運行上麵的程序,這將產生以下結果 -

foo contains:100 200 300 400

相關用法


注:本文由純淨天空篩選整理自 C++ Utility Library - swap Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。