问题标签 [dynamic-arrays]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
852 浏览

delphi - 访问 _CopyArray 过程

有没有办法访问(和调用)像 _CopyArray 这样在单元系统的接口中定义的过程?

注意:我正在尝试创建一个对任何动态数组进行深度克隆的例程,并且不使用 Delphi 2010(使用 Delphi 2007)。

我试图在不使用 Copy 的情况下解决这个问题的原因是我只有一个动态数组所在的指针(即指针)加上一个 typeinfo 引用。我无法调用 Copy 函数,因为它隐式需要填写 typeinfo。

解决方案:您需要通过将 _ 替换为 @ 并将其范围限定为 system 来引用它。

0 投票
4 回答
1167 浏览

delphi - Delphi SetLength 自定义索引

在 Delphi 中,可以创建类型为的数组

N - 1这是一个从 2 到 N 索引的元素数组。

如果我们改为声明一个动态数组

然后N - 1通过以下方式分配元素

那么元素将从0索引到N-2。是否可以将它们从2索引到N(比如说)?

0 投票
4 回答
2136 浏览

c++ - 我可以在 C++ 中使用 [] 运算符来创建虚拟数组吗

我有一个大型代码库,最初是 C 多年前移植到 C++ 的,它正在对许多大型空间数据数组进行操作。这些数组包含表示表示表面模型的点和三角形实体的结构。我需要重构代码,以便这些实体在内部存储的特定方式因特定场景而异。例如,如果点位于规则的平面网格上,我不需要存储 X 和 Y 坐标,因为它们可以动态计算,三角形也可以。同样,我想利用STXXL等核心工具进行存储。最简单的方法是用 put 和 get 类型函数替换数组访问,例如

变成

可以想象,这是对大型代码库的非常繁琐的重构,在途中容易出现各种错误。我想做的是编写一个通过重载 [] 运算符来模仿数组的类。由于数组已经存在于堆上,并且随着 reallocs 移动,代码已经假设对数组的引用,例如

可能无法使用。这个类可以写吗?例如,根据 [] 运算符编写以下方法;

我担心的是我见过的所有数组类都倾向于通过引用传递,而我认为我必须通过值传递结构。我认为它应该在性能之外起作用,任何人都可以看到这种方法的任何主要缺陷。nb 我必须按值传递的原因是为了得到

在底层存储类型不同的情况下正常工作。

0 投票
2 回答
3812 浏览

vbscript - 如何在 VbScript 中创建多维锯齿状数组?

我需要创建多维字符串数组。数组的每一行可以有不同数量的字符串。类似于以下代码:

0 投票
3 回答
5244 浏览

c++ - 如何清理(析构)一个动态的指针数组?

那个 Destructor 就足够了,还是我必须迭代才能删除新节点?

0 投票
2 回答
13053 浏览

delphi - 动态数组超出范围时会自动释放吗?

在这个例子中

数组被破坏还是内存泄漏?

0 投票
3 回答
401 浏览

c - Associative array with mixed (numerical and string) indices?

How would one implement a dynamic associative array that could take any number of mixed indices (integers, strings, or both)?

I aim to simulate structures by providing, for example, people[3].location as syntactical sugar for people[3, "location"]. How would you recommend representing this kind of array internally?

By the way, I am using C, and for portability reasons I can only use the standard libraries.

Thanks for your suggestions!

Edit: Just to clarify, I'm asking how one would implement a dynamic associative array with mixed indices for a programming language interpreter written in C. The interpreter in question is actually Yabasic, but that is not particularly relevant.

Edit: Changed to use [] for array syntax rather than ().

0 投票
1 回答
8653 浏览

delphi - 我可以在不丢失以前内容的情况下调整 Delphi 数组的大小吗?

我有一个动态数组。但最初我不知道数组的长度。我可以先将它的长度设置为 1,然后根据需要增加长度,而不会丢失以前存储的数据吗?
我知道我可以使用 TList 完成这样的任务。但我想知道我是否可以用数组来做到这一点?

0 投票
5 回答
293 浏览

c++ - O* p = 新 O[5]; p 指的是什么?

到数组的第一个 O?

0 投票
2 回答
176 浏览

c++ - SomeClass* initialEl = new SomeClass[5];

SomeClass* initialEl = new SomeClass[5]; 一定要编译,假设 SomeClass 没有非公开声明的默认构造函数?考虑: