function template
<fstream>

std::swap (basic_ifstream)

template <class charT, class traits>  void swap (basic_ifstream<charT,traits>& x, basic_ifstream<charT,traits>& y);
交换输入文件流
交换 basic_ifstream 对象 xy 的值。

这是通用算法 swap 的一个重载,其行为如同x.swap(y)被调用。

参数

x,y
类型相同的 basic_ifstream 对象(即,具有相同的模板参数 charTtraits)。

返回值



示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// swapping ifstream objects
#include <iostream>     // std::cout
#include <fstream>      // std::ifstream

int main () {
  std::ifstream foo;
  std::ifstream bar ("test.txt");

  swap (foo,bar);

  char c = foo.get();

  while (foo.good()) {
    std::cout << c;
    c = foo.get();
  }

  foo.close();

  return 0;
}

数据竞争

两个对象,xy,都会被修改。

异常安全

无异常保证:此成员函数从不抛出异常。

另见