2

只是想在这里了解一下访问本机数组的最佳实践是什么。

具体来说,我想知道的是,通过浮点数或整数数组的本机指针访问它们时是否涉及任何开销。

我可以通过指针算法索引到我的本机数组还是应该将整个本机块复制到托管数组中而不是访问托管数组?

就目前而言,我进行了一些设置,以便我的托管类拥有一个本机指针。管理类然后通过本机指针检索底层数据。这似乎是合理的,但我不确定幕后可能会发生什么类型的互操作。

我很感激任何意见。

添加了片段。

来自 API:

#define rtArrayItemP(a, pos) (a)->data[(pos) * (a)->width + (a)->element]

我的代码:

template<typename T1, typename T2> public ref class ArrayW
{
internal:
    ArrayW(T2* arr)
    {
        _arr = arr;
    }

    property T2* Array
    {
        T2* get()
        {
            return _arr;
        }
    }

protected:
    T1 getarrayelement(int index)
    {
        return rtArrayItemP(_arr, index);
    }

    void setarrayelement(int index, T1 value)
    {
        rtArrayItemP(_arr, index) = value;
    }
    T2* _arr;
};
4

0 回答 0