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中,又新增了两个默认构造函数,分别是移动构造和移动赋值。

 

posted @   言午丶  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享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:论静态链接库和动态链接库
点击右上角即可分享
微信分享提示