深入浅出C++11之列表初始化

    科技2022-07-16  128

    c++11为什么要引入这个东西?它的作用与好处是什么?

    其实:目的是为了代码更简洁,不是为了解决什么问题!也就是让你可以代码可以写得更少,而又达到同样的功能!

    统一初始化方式!

    example:

    以前我们定义一个对象,初使化成员变量如下:

    class testabc { public: int x; int y; }; testabc test; text.x = 0; test.y = 0;

    或者写一个构造函数

    class testabc { public: int x; int y; testabc(int _x, int _y) { x = _x; y = _y; } }; testabc test(0,0);

    而现在呢,以没有写构造函数的为例:

    testabc  test={0,0}; 这个{}里的东西就叫初使化列表!

    举例现在的新写法  

    int* a = new int { 1 }; double b = double { 1.1 }; int* int arr = new int[3] { 1, 2, 3 }; int aaaaaaa = { 13 }; int bbbbbbbbbb{ 13 };

    接上面的excample  testabc类,现在还支持这么写,堆上动态分配的数组终于也可以使用初始化列表进行初始化!

    testabc  getobj() {     return { 0,0 }; }

    这 个好理解吧!其实也就是这些作用了,你按以前的写也没毛病,但是新的你也要知道!

    keivin2006 认证博客专家 C/C vc/qt 音视频 一名c/c++/vc/qt 的小学生,“精通”c,“精通”c++,“精通”vc++,“精通”php,“精通”qt,“精通”java,“精通”python,“精通”c#,“精通”...! 编不下去了,只要见过名字的都我“精通”....为哈,因为我现在是csdn“砖家”了!本人qq: 88520350 qq学习群:930432714 (C/C++/QT/VC学习交流群) 海量学习资料都分享在群里指点学习方向,掌握学习要点,快速提高技术水平, 技术分享,共同学习!
    Processed: 0.013, SQL: 8