递归火山软件开发平台

标题: 请教文本型 []和文本数组类的区别 [打印本页]

作者: zzh233    时间: 2022-5-5 22:21
标题: 请教文本型 []和文本数组类的区别
一直用文本数组类来做数组 不知道这2个区别在哪
作者: 李先森    时间: 2022-5-5 22:50
我觉得应该是这样,文本[0]=“aa”可以直接赋值,而文本数组.加入成员(aa),需要类.方法才能操作,一个理解为基本数据类型,一个我理解为扩展类型,数组类可操作性比较强,
作者: zzh233    时间: 2022-5-5 23:57
李先森 发表于 2022-5-5 22:50
我觉得应该是这样,文本[0]=“aa”可以直接赋值,而文本数组.加入成员(aa),需要类.方法才能操作,一个理 ...

那能不能混合操作那 比如 文本[0]=“aa”  之后 我又想 文本.加入成员("bb") 就不行了是吧 那应该是两种操作模式
作者: 福寿    时间: 2022-5-6 02:50
一个是动态的,一个是静态的
作者: 创世魂    时间: 2022-5-6 07:37
利用数组类操作更加灵活方便。

在视窗里面没有提供数组符号相关数组操作的方法,比如:加入成员之类的,用数组符号的话,无法操作
作者: urenai    时间: 2022-5-6 08:55
我也查过,比喻说,重定义数组,之类的都没有。
文本组[] 应该适用于初始数据,静态数据。

数组类,适用场景为通用。
作者: Xelloss0618    时间: 2022-5-6 09:53
[] 是 C 语言给你的数组,只能用固定的成员数,理论上是最快的,就是用起来局限性比较大。
易语言里的数组也是类似 C 语言这种,易语言虽然有加入成员和重定义数组两个函数,但函数内部实际上就是新建一个数组,然后把之前的内容复制过去,因此需要不断重新分配内存,所以易语言的这两个函数都很慢。

火山的数组类是一个 C++ 类,跟 std::vector 类似,不过火山的数组类不是 vector,而是用字节集类实现的。
火山的数组类会预申请一段内存,只要加入成员后不超过这个大小,就不会重新分配内存。
如果需要加入大量的数组成员,可以提前设置较大的「预分配尺寸」,就可以适当减少重新分配内存的次数,加快效率,但可能会更占内存一些。
作者: zzh233    时间: 2022-5-6 11:13
Xelloss0618 发表于 2022-5-6 09:53
[] 是 C 语言给你的数组,只能用固定的成员数,理论上是最快的,就是用起来局限性比较大。
易语言里的数组 ...

万分感谢耐心教导 我还是用 数组类 简单一点 至于[] 我就用于数组常量得了 比如保存一些固定坐标啥的
作者: 苏紫龙    时间: 2022-5-6 17:44
Xelloss0618 发表于 2022-5-6 09:53
[] 是 C 语言给你的数组,只能用固定的成员数,理论上是最快的,就是用起来局限性比较大。
易语言里的数组 ...

讲解的很清楚,学习了!
作者: alexqj    时间: 2022-12-12 12:09
Xelloss0618 发表于 2022-5-6 09:53
[] 是 C 语言给你的数组,只能用固定的成员数,理论上是最快的,就是用起来局限性比较大。
易语言里的数组 ...

困扰好一阵子终于解惑了,多谢




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4