C++11:列表初始化
init
新增了列表初始化
//初始化变量
int main()
{
int x1 = 1;
int x2{ 2 };
int array1[]{1, 2, 3, 4, 5};
int array2[5]{ 0 };
int* pa = new int[4]{ 0 };
return 0;
}
//初始化对象
class Date
{
public:
Date(int year, int month, int day)
: _year(year)
, _month(month)
, _day(day)
{
}
private:
int _year;
int _month;
int _day;
};
int main()
{
Date d1(2022, 1, 1);
Date d2{2022, 1, 2};
return 0;
}
//初始化数组
int main()
{
vector<int> v = {1, 2, 3, 4};
list<int> lt = {1, 2};
map<string, string> dict = { {"sort", "排序"}, {"insert", "插入"} };
v = {10, 20, 30};
return 0;
}
原来C++类中,有6个默认成员函数:
- 构造函数
- 析构函数
- 拷贝构造函数
- 拷贝赋值重载
- 取地址重载
- const 取地址重载
当然,我们平常很少用到后两个。在C++11中,又新增了两个默认构造函数,分别是移动构造和移动赋值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-07-05 他山之石:OpenGL书籍推荐
2019-07-05 OpenGL3:开头篇 介绍
2019-07-05 Windows开发:WinSDK初始化
2019-07-05 C++03:论类的构造函数和析构函数
2019-07-05 MFC:绘图基础
2019-07-05 OpenCV2:总结篇 cv::Mat 类
2019-07-05 C89:论静态链接库和动态链接库