首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在非成员函数上使用delete的意义是什么?

在非成员函数上使用delete的意义是什么?
EN

Stack Overflow用户
提问于 2017-02-20 04:56:03
回答 1查看 1.2K关注 0票数 27

摘自标准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是可取的、可取的或不可避免的?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42332777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档