gpt4 book ai didi

arrays - Ada - 动态重新分配数组

转载 作者:行者123 更新时间:2023-12-02 05:34:21 25 4
gpt4 key购买 nike

我正在尝试编写一个基于数组的堆栈,可以动态重新分配。我遇到的主要问题是如何实现调整数组大小的过程。在 C++ 中,它可能看起来像这样:

template<class T, int incr>
void Vector<T, incr>::inflate(int increase) {
const int tsz = sizeof(T*);
T** st = new T*[quantity + increase];
memset(st, 0, (quantity + increase) * tsz);
memcpy(st, storage, quantity * tsz);
quantity += increase;
delete []storage;
storage = st;
}

在哪里 int quantity;T** storage;在私有(private)部分中声明。

如果有人可以与我分享一些 sample ,我将不胜感激。我试图查看 Ada.Containers.Vectors 的实现,但是啊……它太大了 =P

到目前为止,我已经完成了 Vector.ads任何人都可以帮忙吗?

最佳答案

好的,案子解决了。我已经完成了我的 Vector 类(实际上是在数组上构建的堆栈)。感谢大家的帮助。

只是为了后代这里是我的代码。希望有人能从中学到一些东西。
代码 -> https://gist.github.com/496a50bc7f5cd93f8d91

如果您想查看并找到值得更改的内容,请发表评论。 ;D

关于arrays - Ada - 动态重新分配数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8463278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com