操作脚本 3 - 使用数组 - 矢量类型初始化 AS 3.0 矢量。<Array>?(加上等效C++)

actionscript 3 - Initializing a AS 3.0 vector with type array - Vector.<Array>? (plus C++ equivelant)

本文关键字:lt Array gt C++ 矢量 数组 脚本 类型 操作 AS 初始化      更新时间:2023-10-16

我有一个快速问题要问大家。我正在尝试将一些ActionScript代码转换为C++,但这一行很难:

private var edges:Vector.<Array>

这到底是什么?那么,这本质上是一个多维向量吗?或者这只是简单地将向量声明为一个容器?我从研究中了解到,向量,就像C++向量一样,必须用类型来声明。然而,在C++中,我不能只放下Array,我必须使用另一个向量(可能),所以它看起来像:

vector<vector<T> example;

甚至可能是

vector<int[]> example;

我不希望你们知道C++的等价物,因为我主要是用AS标签发布的,但如果你们能确认我对AS半部分的理解,那就太好了。我在谷歌上搜索了一下,但没有发现任何有人使用Array作为其类型的情况。

来自Mike Chambers(adobe福音传道者):

"从本质上讲,Vector类是一个类型化的数组,除了确保您的集合是类型安全的,它还可以比使用数组提供(有时是显著的)性能改进。"

http://www.mikechambers.com/blog/2008/08/19/using-vectors-in-actionscript-3-and-flash-player-10/

从本质上讲,C++中的向量是基于相同的原理。至于将AS3中的数组向量移植到C++,原则上这不是一个清晰的转换,因为在C++中可以有各种类型的集合(数组),例如char数组。然而,你似乎已经有了这个想法,因为你在问题中几乎已经发布了这两种途径的例子。

我会发布一些代码,但我想你已经完全掌握了。你是在向量中使用向量,还是声明一个特定类型的集合,我认为归根结底是什么最适合你的特定项目。

此外,您可能对以下内容感兴趣:

http://www.mikechambers.com/blog/2008/09/24/actioscript-3-vector-array-performance-comparison/