Как сделать boost :: python :: numpy :: ndarray собственными выделенными данными? - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть следующий код, который преобразует std :: vector в boost ndarray:

np::ndarray _vector_to_numpy_impl(const std::vector<int>& vec)
{
    auto size = vec.size();
    auto data = new int[size];

    std::memcpy(data, vec.data(), sizeof(int) * size); 

    p::tuple shape = p::make_tuple(size);
    p::tuple stride = p::make_tuple(sizeof(int));

    np::dtype type = np::dtype::get_builtin<int>();
    p::object own;

    return np::from_data(data, type, shape, stride, own);
}

Но я не уверен, что после передачи этого ndarray в python он будет свободно освобождать выделенную память, когда объект выходит из области видимости. В документации буста об этом не ясно.

...