C++ 构造函数
默认构造函数(default)
class joker{ joker()=default; };
当出现有参数的构造函数时,编译器就不会创建默认构造函数。但是又想生产默认构造函数怎么办,default 作用就是声明一个默认构造函数。
default可以用于构造函数,拷贝构造函数,析构函数。
浅拷
class joker{ public: joker(joker& clown){ a=clown.a; b=clown.b; } int a,b; };
为什么必须要用引用?
不加引用的话会产生拷贝递归,形参与实参的拷贝会无休止的进行。
深拷
class joker{ public: joker(joker& clown){ a=clown.a; b=clown.b; c=new char[strlen(clown.c)]; strcpy(clown.c,c); }
~joker(){
delete []c;
} int a,b; char *c; };
深层拷贝的目的是防止指针变量被析构两次,造成内存泄漏。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律