Задать вопрос
@SergeySerge11

Как получить любой объект из непрерывной памяти? void*,ref IntPtr, Span...?

Как получить любой объект из непрерывной памяти, то есть не копируя его. То есть объект должен представлять собой блок непрерывной памяти?
Есть такой способ. Он работает. И устраивает. А есть ли аналогичный способ с помощью более Безопасных IntPtr и ref там всякие ref byte Span, Memory, MemoryMarshal и кучи прочего?
public unsafe   T*  Allocate<T>() where T :  unmanaged  
        {
            int size= Marshal.SizeOf(typeof(T));
            return  (T*)( allocStrategy.Malloc(size) ) ;   // возвращает void*
        }
  • Вопрос задан
  • 112 просмотров
Подписаться 2 Средний Комментировать
Решения вопроса 1
Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Ваш способ всё равно создаёт новый объект, а не натягивает доступ на существующий.
Через fixed можно получить доступ только к примитивным типам.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы