我想使用类似于C ++ $array
的{{1}},我可以将项目推送到数组的末尾,并在空间不足时自动调整大小。
我在MDN上注意到Float32Array
有experimental transfer
method用于此目的,这似乎是一个很好的候选人。我还有哪些其他方法可以实现自我调整大小std::vector<float>
?
答案 0 :(得分:0)
谷歌搜索完全相同的请求,我找到了答案:
TypedArrays不是Arrays而是ArrayBuffers,因此是固定长度:你不能对它们使用push():-(。查看更多here。
显然唯一的解决方案是蛮力(见here)。但如果你的目的是进行一些密集的操作(webGL,声音),你就不会那样了。在各种各样的tutos中,当人们绑定他们的缓冲区(例如gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(this.vertexArray), gl.STATIC_DRAW);
)时,人们会涌入Float32Array,也许它并不是那么糟糕......但我同意这听起来并不是最佳的。