您的位置:首页 > 编程语言 > C语言/C++

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

2015-04-07 23:22 302 查看
老版本:不再赘述

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.迭代器(实质是指针)可以自动根据类型适配调用合适算法;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: