398741905的个人主页

http://www.qtcn.org/bbs/u/178911  [收藏] [复制]

398741905

  • 0

    关注

  • 0

    粉丝

  • 3

    访客

  • 等级:新手上路
  • 总积分:2
  • 保密,1990-05-04

最后登录:2018-06-21

更多资料

日志

数组的替代品 模板类vector和array

2017-05-02 20:46
模板类vector是一种动态数组,可以在运行阶段设置vector对象的长度,在qt中有Qvector,性质一样。
我们知道数组的申明中,必须指定大小,但实际开发中,我们不确定元素的个数,这个时候我们就可以采用模板类vecyor
示例:
#include <vector>
using namespace std;
vector<int>vi;
int n;
cin >> n;
vector<int>vd(n);
创建一个名为vt的vector对象,它存储n_elem个类型为typename的元素
vector<typename>vt(n_elem);
其中vi是一个vector<int>对象,vd是一个vector<double>对象,并且长度问n;
vector类的功能比较强大,但付出的代价是效率稍低。如果需要的是固定长度的数组,使用数组是更佳的选择,但代价是不那么方便和安全。鉴于此,C++11中新增了模板类array  与数组一样,array对象的长度也是固定的,也使用栈,而不是自由存储区,因此效率和数组相同。但更方便,更安全。array对象的创建和vector稍有不同
示例:
#include <array>
using nanespace std;
array<int,5>ai;
array<double,4>ad = {1.2, 1.3, 3.1, 4.3}
推广:array<typename,n_elem>arr;
分类:默认分类|回复:0|浏览:478|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:04-29 12:33
©2005-2016 QTCN开发网 版权所有 Gzip disabled