Numpy 如何在运行时获取数组大小?

问题描述 投票:0回答:1

在 C++ 中,数组的大小必须在编译时确定。 我想用 C++ 编写一个简单的代码,例如,对其自身进行简单的矩阵乘法(对于大小为正方形的矩阵),并且我想对任何矩阵大小执行此操作。但是,我不知道如何在 C++ 运行时获取矩阵大小或各种大小的矩阵。

我读过有两种类型的内存:栈和堆。看来堆栈上数组的大小必须在编译时确定,而堆上数组的大小可以在符文时确定。

我还知道 Numpy 可以在 Python 中从用户处获取数组的大小并在 C/C++ 中创建数组,因此,Numpy 执行此操作的方式可能是解决方案。

Numpy 在从用户处获取数组的大小后是否进行编译?或者 Numpy 数组是在 C 的堆上创建的吗? 基本上,Numpy 如何避免这个问题?

编辑 我更改了问题,将重点放在 Numpy 如何解决我遇到的问题上。

python c++ numpy heap-memory stack-memory
1个回答
0
投票

Numpy 从用户处获取数组大小后是否进行编译?

不,Python 及其不同的功能/方面几乎总是由运行时确定的。

你知道 Numpy 是做什么的吗?它也使用 std::vector 吗?

Numpy 是使用

C
和 python 编写/实现的,因此它不能使用
std::vector
,因为
std::vector
C++
标准库提供。

他们使用

malloc
calloc

NumPy 中的内存管理

© www.soinside.com 2019 - 2024. All rights reserved.