gpt4 book ai didi

c - 如果调用者不知道大小,如何在不分配数组的情况下返回数组?

转载 作者:行者123 更新时间:2023-12-04 10:44:28 25 4
gpt4 key购买 nike

考虑以下功能:

int get_something (int* array, int size);

它的目的是用来自外部资源的数据填充传递的数组[大小](对资源的查询是昂贵的)。问题是,如果资源的元素多于提供的数组可以处理的元素,该怎么办?什么是最好的方法?

编辑:添加的当前解决方案:

目前我们的方法如下:

当用户第一次调用 get_something() 时,我们使用空参数执行完整的查询,在缓存中分配数据(这只是一个键值存储)并返回一些项目。

当用户下次使用正确初始化的缓冲区调用 get_something() 时,我们从缓存中返回数据并清除缓存条目。

如果用户不调用 get_something(),则会发生超时并释放该项目的缓存。

如果用户调用 get_something() 的时间太晚,并且数据已被清除,我们会生成错误状态,因此用户知道他必须重复请求。

最佳答案

一个选项是根本不修改数组,而是返回所需的大小作为返回结果。然后,调用者必须使用至少此大小的数组再次调用您的函数。

关于c - 如果调用者不知道大小,如何在不分配数组的情况下返回数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3413925/

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