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

std::

cref

类模板  <functional>

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

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

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

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

☲  参数


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

x
复制的const T的reference_wrapper对象。

☉  返回值



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

☣  示例



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

int main () {
  int foo (10);

  auto bar = std::cref(foo);

  ++foo;

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

  return 0;
}

输出:
11

⇄ 数据竞争



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

☂ 异常安全性



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

🍄  另请参阅



reference_wrapper::reference_wrapper 引用包装器构造函数(公共成员函数)
ref 构建引用包装器(类模板)

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