gpt4 book ai didi

arrays - 如何在不复制的情况下从 UnsafeBufferPointer 创建数组?

转载 作者:可可西里 更新时间:2023-10-31 23:44:26 26 4
gpt4 key购买 nike

我遇到了一个棘手的情况,我有一个非常大的内存,由一个 UnsafeBufferPointer 表示,我需要将它表示为一个 Array。现在,Swift 标准库提供了一个初始化器,可以复制任何给定序列中的元素,但是它无法直接提供底层存储。

有什么方法可以在避免复制的同时将 UnsafeBufferPointer“转换”为 Array

最佳答案

struct UnsafeBufferPointer<Element> { ... }

A non-owning pointer to buffer of Elements stored contiguously in memory, presenting a Collection interface to the underlying elements.

答案是否定的,不可能的。

init(start: UnsafePointer<Element>, count: Int)

Construct an UnsafePointer over the count contiguous Element instances beginning at start.

构造函数不会在任何地方复制任何东西。构造函数不创建任何内存分配

关于arrays - 如何在不复制的情况下从 UnsafeBufferPointer 创建数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33852816/

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