【C++】构造函数类别
1.【C++】const与constexpr2.【C++】vector3.【C++】创建对象写法4.【C++】域作用符的作用5.【C++】map6.【C++】类7.【C++】NULL与nullptr的区别8.【C++】cmath9.【C++】struct10.【C++】string11.【C++】unordered_set12.【C++】基本类型13.【C++】algorithm14.【C++】命名空间15.【C++】缺省参数16.【C++】函数重载17.【C++】引用18.【C++】auto19.【C++】基于范围for循环20.【C++】存储区21.【C++】左值与右值22.【C++】explicit
23.【C++】构造函数类别
24.【C++】decltype25.【C++】remove_refrence26.【C++】typeid与RTTI27.【C++】using28.【C++】引用折叠、万能引用和完美转发1、默认构造函数
形式:没有入参
调用方式:直接定义
声明:
Constructor();
调用:
Constructor c;
2、初始化构造函数
形式:有参数列表
调用方式:传参即可
声明:
Constructor(int a, int b);
调用:
Constructor c(1,2);
3、拷贝构造函数
形式:参数为变量常引用
调用方式:当使用现有对象初始化新对象时,拷贝构造函数被调用,可以理解为是一个特殊的转换构造函数,函数传参、赋值时会被隐式调用。
声明
Constructor(const Constructor& c);
调用:
Constructor c1 = c;
f(c);
4、移动构造函数
形式:参数为右值引用
调用方式:当使用右值初始化的时候,就是使用移动构造函数。
声明:
Constructor(Constructor&& c);
调用:
Constructor c(move(Constructor()));
5、委托构造函数
形式:初始化列表式其他构造函数
调用方式:正常调用即可
定义:
Constructor c(int a, int b): Construtor() {}
6、转换构造函数
形式:参数列表有且仅有一个参数,拷贝构造函数和移动构造函数都是特殊的转换构造函数
调用方式:用其他变量初始化时
声明:
Constructor(int a);
调用:
Constructor b = 3;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2023-08-08 【GTK】在Windows下安装GTK