设为首页 加入收藏

TOP

C++数组array与vector的比较
2014-11-20 07:13:39 来源: 作者: 【 】 浏览:28
Tags:数组 array vector 比较

  1. 数组的为数必须用 值大于等于1的常量表达式定义,且只能包含整型字面值常量,枚举常量或者用常量表达式初始化的整型const对象,非const变量以及需要到运行阶段才知道其值的const变量都不能用来定义数组的维度;


  2. 数组的维度必须用 [] 内指定;


  3. 显示初始化数组元素的时候用 {} 括起来,成为初始化列表;不管数组在哪里定义,如果其元素为类类型,则自动调用该类的默认构造函数进行初始化,如果该类没有默认构造函数,则必须为该数组的元素提供显式初始化;在函数体外定义的内置数组,其元素全部初始化为1,在函数体内定义的内置数组,无初始化。


  4. 如果指定了数组维度,初始化的元素个数不能超过维数值;若小于,内置类型则初始化为0,类类型则调用该类的默认构造函数进行初始化。


  5. 数组和vector不同,一个数组不能用另一个数组初始化,也不能将一个数组赋值给另一个数组;


  7. 在用下标访问元素时,vector 使用 vector::size_type 作为下标的类型,而数组下标的正确类型则是 size_t;


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇加入代码以检查C++中的内存泄漏 下一篇用VisualC++SDK操作INI文件

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: