数组和指针

来源:互联网 发布:yum install卡住 编辑:程序博客网 时间:2024/06/04 23:23

C++提供了两种类似于vector和迭代器类型的低级复合类型--数组和指针。

与vector类型类似,数组也可以保存某种类型的一组对象,区别是数组的长度时固定的。数组一经创建,就不允许添加新的元素。

指针则可以像迭代器一样用于遍历和检查数组中的元素。

设计良好的程序只有在强调速度时才在类实现的内部使用数组和指针。


与vector类似,数组也是一种存储单一数据类型对象的容器,其中每个对象都没有单独的名字,而是通过它在数组中的位置对它进行访问。

与vector比数组的缺陷:数组的长度是固定的,而且程序员无法知道一个给定数组的长度。没有siez和push_back操作

如果需要更改数组的长度,程序员只能创建一个更大的新数组,然后把原数组的所有元素复制到新数组空间中去。

只有当性能测试表示使用vector无法达到必要的速度要求时,才使用数组。


数组是由类型名、标识符和维数组成的复合数据类型,类型名规定了存放在数组中的元素的类型。

数组定义中的类型名可以是内置数据类型或类类型;除引用之外,数组元素的类型还可以是任意的复合类型。

没有所有元素都是引用的数组。

数组的维数必须用值大于等于1的常量表达式定义。此常量表达式只能包含整型字面值常量、枚举常量或用常量表达式初始化的整型const对象。

非const变量以及要到运行阶段才知道其值的const变量都不能用于定义数组的维数。

eg:int   a = 27;

double  salsries[a];             //虽然a是用字面值常量进行初始化,但a本身是一个非const对象,只有在运行时才能获得它的值,使用该变量定义数组维数非法。

0 0
原创粉丝点击