猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
对const的右值引用有什么用吗?
我想不是,但是我想确认。有什么用
const Foo&&
,
Foo
类类型在哪里?
繁星淼淼
浏览 455
回答 3
3回答
守着一只汪
我想不出可以直接使用的情况,但可以间接使用它:template<class T>void f(T const &x) { cout << "lvalue";}template<class T>void f(T &&x) { cout << "rvalue";}template<class T>void g(T &x) { f(T());}template<class T>void h(T const &x) { g(x);}在T 克为T const的,所以˚F的x是一个常量Ť&&。可能会导致f发生编译错误(当它试图移动或使用对象时),但是f可以使用rvalue-ref,以便在不修改rvalue的情况下不能在lvalues上调用它(例如,太简单了)以上示例)。
0
0
0
凤凰求蛊
除了std :: ref之外,标准库还出于相同目的在std :: as_const中使用const rvalue引用。template <class T>void as_const(const T&&) = delete;获取包装值时,它还用作std :: optional中的返回值:constexpr const T&& operator*() const&&;constexpr const T&& value() const &&;以及在std :: get中:template <class T, class... Types>constexpr const T&& get(const std::variant<Types...>&& v);template< class T, class... Types >constexpr const T&& get(const tuple<Types...>&& t) noexcept;大概是为了在访问包装的值时保持值的类别以及包装器的恒定性。这对是否可以在包装的对象上调用const rvalue ref限定函数有所不同。也就是说,我不知道const rvalue ref限定函数的任何用途。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续