操作脚本 3 - 使用数组 - 矢量类型初始化 AS 3.0 矢量。<Array>?(加上等效C++)
actionscript 3 - Initializing a AS 3.0 vector with type array - Vector.<Array>? (plus C++ equivelant)
我有一个快速问题要问大家。我正在尝试将一些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/
- 请解释这句话(cout<<1+int((a<b)^((b-a)&1) )<<endl
- 呼叫运营商<<临时
- 如何防止clang格式在流运算符调用之间添加换行符<<
- <<操作员在下面的行中工作
- C++11 中不同类型的对象的 std::array 的替代方案
- constexpr begin of a std::array
- C++如果必须在编译时确定大小,std::array 有什么意义?
- OpenGL VBO Indexing ( How to compute Index Array)
- 标准::unordered_map 中的 std::array 的值初始化
- "Warning: Comma within array index expression"但逗号分隔函数参数
- 确保编译时的特定 std::array 位置
- std::array的长度有大小限制吗?
- 将 std::array 移动到另一个 std::array
- 首先按给定顺序打印所有数字,然后使用 Array 打印所有字符和其他符号
- 为什么 std::shared_ptr 被认为是"heavy"和"expensive",但 std::array "same perfprmance as plain (c-style) arrays
- 将 **float array 从 C++ Dll 传递给 python
- std::bind on statd::array 的运算符 []
- 检查输入 std::array 指针数据是否等于某个常量数组
- 我可以安全地复制矢量<array>吗?
- 解析问题 - 预期的非限定 ID - #include <array> 编译错误