Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

ref

类模板  <functional>

reference (1)
template <class T>
  reference_wrapper<const T> ref (const T& elem) noexcept;
copy (2)
template <class T>
  reference_wrapper<const T> ref (reference_wrapper<T>& x) noexcept;
move (3)
template <class T>
  void ref (const T&&) = delete;

构建引用包装器
构造一个适当的reference_wrapper(引用包装器)类型的对象,保存对elem的引用。

如果参数本身是reference_wrapper(引用包装器),它会创建一个x的副本。

该函数调用相应的reference_wrapper构造函数。

☲  参数


elem
一个左值引用对象,其引用存储在对象中。

x
复制的reference_wrapper对象。

☉  返回值



适当类型的reference_wrapper对象,用于保存T类型的元素。

☣  示例



// ref example
#include <iostream>     // std::cout
#include <functional>   // std::ref

int main () {
  int foo (10);

  auto bar = std::ref(foo);

  ++bar;

  std::cout << foo << '\n';

  return 0;
}

输出:
11

⇄ 数据竞争



reference (1)不访问elem,但是返回的对象可以访问或修改elem。 copy(2)访问其实参(x),返回一个可用于访问或修改其引用的元素的对象。

☂ 异常安全性



无抛出保证:从不抛出异常。

🍄  另请参阅



reference_wrapper::reference_wrapper 引用包装器构造函数(公共成员函数)
reference_wrapper::operator() 访问元素(公共成员函数)
cref 将引用包装器构造为const(类模板)

联系我们 免责声明 关于CandCplus 网站地图