gpt4 book ai didi

c++ - 如何在 c 中返回一个 float 数组并将其保存为一个 float 数组以备后用?

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:28 24 4
gpt4 key购买 nike

我有一个返回 std::vector<float> 的 C++ 函数.

我正在与一些 C 代码交互。

如何更改此 C++ 函数以便它返回一些指向 float 组的指针,以及如何保存此返回的数组以便我可以在我的 C 代码中使用它?

最佳答案

您可以使用 std::vector::data 获取指向“原始”数组的指针或 &my_vector[0] 如果 C++11 不可用。但是,如果 vector 操作强制调整 vector 的大小,则原始存储将在内存中移动,并且该指针将不再安全使用。如果有任何这种情况发生的可能性,您将需要分配单独的存储空间(例如,通过创建 vector 的拷贝)并提供指向该存储空间的指针。

更新:Woodrow 的评论让我注意到您实际上是在从函数返回指针 之后。您只能返回指向堆分配内存的指针,因此您不能使用本地 vector(或任何其他类型的堆栈分配内存)来执行此操作。

关于c++ - 如何在 c 中返回一个 float 数组并将其保存为一个 float 数组以备后用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11987122/

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