C++中怎么使用delete禁止默认行为
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"C++中怎么使用delete禁止默认行为",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++中怎么使用delete禁止默认行为"吧
千家信息网最后更新 2026年11月02日C++中怎么使用delete禁止默认行为Reason(原因) Example(示例) Example(示例) Enforcement(实施建议)
这篇文章主要讲解了"C++中怎么使用delete禁止默认行为",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++中怎么使用delete禁止默认行为"吧!
如果不需要默认(同时不需要其他选项)行为,使用=delete禁止它们
某些情况下·,也有可能·不希望存在默认行为。
class Immortal {
public:
~Immortal() = delete; // do not allow destruction
// ...
};
void use()
{
Immortal ugh; // error: ugh cannot be destroyed
Immortal* p = new Immortal{};
delete p; // error: cannot destroy *p
}独占指针可以被移动,但是不能被拷贝。为了实现这一点,代码禁止了拷贝操作。禁止拷贝的方法是将源自左值的拷贝操作声明为=delete。
template > class unique_ptr {
public:
// ...
constexpr unique_ptr() noexcept;
explicit unique_ptr(pointer p) noexcept;
// ...
unique_ptr(unique_ptr&& u) noexcept; // move constructor
// ...
unique_ptr(const unique_ptr&) = delete; // disable copy from lvalue
// ...
};
unique_ptr make(); // make "something" and return it by moving
void f()
{
unique_ptr pi {};
auto pi2 {pi}; // error: no move constructor from lvalue
auto pi3 {make()}; // OK, move: the result of make() is an rvalue
} 注意:禁止的函数应该是公有的
按照惯例,被删除函数(deleted functions)声明为public,而不是private。当用户代码尝试调用一个成员函数时,C++会在检查它的删除状态位之前检查它的可获取性(accessibility,即是否为public?)。当用户尝试调用一个声明为private的删除函数时,一些编译器会抱怨这些删除的函数被声明为private
消除默认操作(应该)应该基于类的期待语义。怀疑这些类,但同时维护类的"正面清单",其内容是由人断定是正确的东西。
感谢各位的阅读,以上就是"C++中怎么使用delete禁止默认行为"的内容了,经过本文的学习后,相信大家对C++中怎么使用delete禁止默认行为这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
行为
C++
函数
拷贝
内容
学习
代码
同时
情况
用户
示例
尝试
检查
东西
原因
就是
建议
思路
惯例
成员
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天津市摩尔互联网科技
上海卓越科技互联网
西安纸贵互联网科技有限公司
广州百单互联网科技有限公司
互联网属科技
科技企业和互联网企业
科技互联网创业计划书
互联网科技热点资讯
南山科技园互联网公司有哪些
新兴科技互联网创新大赛颁奖典礼
互联网数据科技专业
沐思想互联网科技有限公司
雨阳互联网卡科技有限公司
富国互联网金融科技混合基金
互联网科技快讯热点
济南小医互联网科技有限公司招聘
互联网科技平台产品运营
中国科技和美国互联网
互联网科技创新创业项目
互联网科技创业有什么好项目
互联网科技公司
互联网科技小贷
互联网科技公司怎么样
顶级互联网科技成果有哪些
和信科技工业互联网
科技互联网海报
陕西云淼互联网科技公司
优雇互联网科技有限公司
互联网高科技绘画
互联网企业和网络科技有限公司