C++ 老版本数组与新版本Array及Vector区别

来源:互联网 发布:csol去黑雾软件 编辑:程序博客网 时间:2024/05/01 05:24

老版本:不再赘述

Array:1.数组间可以直接赋值(实现数组间整体操作)

例如:Array<double,5> myarray1={1,2,3,4,5};

   Array<double,5> myarray2;

   So ,We Can: myarray1 = myarray2;   

   2.增加了类型安全

例如:在内部管理更加得当,通过定义可知Array类型增加了很多操作,如begin(),end()及很多算法。

   3.管理字符串更加方便

例如:Array<string,5> myarray1={"hello","world","i","fuck","you"};

   通过使用myarray1[i].c_cstr()可将其转为C形式字符串(可直接相加)

   4.实现多维数组

例如:Array<double,5> myarray2={1,2,3,4,5};

   Array<double,5> myarray3={1,5,3,9,5};

           Array<double,5> myarray1={1,7,3,9,5};

           多维数组 2行5列

          Array<Array<double,5>,5> myarray;//myarray多维数组

          5.不用管理内存

  6.参加Vector No:5

注意:不能栈溢出,适用于任何类型

Vector:1.动态大小,本质使用realloc动态开辟内存

例如:Vector  <int> myvec;

    myvec.push_back(i);    //清除  myvec.clear();

       2.开辟的内存可反复利用,不许管理内存

       3.参考Array  No:3

       4.内置大量方便操作;

       5.迭代器(实质是指针)可以自动根据类型适配调用合适算法;

0 0
原创粉丝点击