摘自标准20.12 function.objects:
template <class T> reference_wrapper<T> ref(T&) noexcept;
template <class T> reference_wrapper<const T> cref(const T&) noexcept;
template <class T> void ref(const T&&) = delete;
template <class T> void cref(const T&&) = delete;
我习惯于在成员函数的上下文中看到=delete
。其目的是禁止由编译器提供的操作。例如,使类不可复制或不可移动。
然而,在这种情况下,意图似乎是意图的文档。是这样的吗?是否有其他情况下,在非成员函数上使用=delete
是可取的、可取的或不可避免的?
https://stackoverflow.com/questions/42332777
复制相似问题