C/C++默认生成的几个函数s
一、关键词
- 类/结构体默认生成。
- 拷贝/移动 + 构造/赋值 = 组合不同方式有4种,除默认、析构,共计6种。
- 在使用时:拷贝/移动 + 赋值的,都是定义和赋值分开;拷贝/移动 + 构造的,都是定义和赋值一起。
二:知识点
- 默认构造函数
Student():age(0){};
- 拷贝构造函数
Student(const Student& item) : age(item.age){};
- 析构函数
~Student():age(0){}
- 拷贝赋值运算符
Student& ooperator=(const Student& item){
if(this == &item){return *this;}
age = item.age;
return *this;
- 移动构造函数
Student(Student&& item){
age = item.age;
item.age = 0;
}
- 移动赋值运算符
Student& operator=(Student&& item){
if(this == &item)return *this;
age = item.age;
item.age = 0;
return *this;
}
三、实际运用
//默认构造函数
Student s;
//拷贝构造函数
Student s2 = s;
//拷贝赋值运算符
Student s2;
s2 = s;
//移动构造函数
Student s3 = std::move(s);
//移动赋值运算符
Student s4;
s4 = std::move(s);
本文来自博客园,作者:Labant,转载请注明原文链接:https://www.cnblogs.com/lvshen/p/18324596
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具