PredictForMat(const void* data). Она принимает указатель на массив. Некоторые элементы данного массива могут быть null(от этого зависят вычисления). Возможно ли создать и в Rust не инициализированный массив, что бы передать его указатель?
Возможно, но какое отношение неиницализация имеет к неким данным для которых null это валидное значение?
понял туплю. в общем мне нужно заполнить массив null значениями и передать на него указатель. не знаю как это сделать.
А либа принимает владение переданным указателем?
В принципе, в простейшем случае как-то так: let array = [std::ptr::null(); 10]; unsafe { cpp_lib_func(array.as_ptr()) } Но не зная подробностей, нельзя сказать наверняка, подойдёт это или нет
странная сигнатура, как эта функция узнает размер массива?
возможно, разными способами, в зависимости от того, что конкретно ты хочешь например, можно использовать MaybeUninit<_> или сырой указатель, как в C
Я честно не знаю. Либа по машинному обучению. Хочу с Python на Rust перенести.
А что за либа-то?
уже есть crate https://github.com/vaaaaanquish/lightgbm-rs
Обсуждают сегодня