C++ 老版本數組與新版本Array及Vector區別

老版本:不再贅述

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.迭代器(實質是指針)可以自動根據類型適配調用合適算法;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章