c++ - C++中的**是什么

标签 c++ c pointers memory

我目前正在阅读一些 C++ 源代码,我遇到了这个:

 double **out;
 // ... lots of code here 

 // allocate memory for out
 out = new double*[num];

不完全确定它的作用或含义。它是……指向另一个指针的指针吗?

还有以下内容:

 double ***weight;

 // allocate memory for weight
 weight = new double**[numl];

我很困惑 :P,感谢任何帮助。

最佳答案

new double*[num] 是一个双指针数组,即数组的每个元素都是一个 double*。您可以使用 out[i] = new double; 为每个元素分配内存。类似地,weight 是一个 double** 数组。您可以使用 new double*[num] 为每个权重元素分配内存(如果它应该是 double* 的数组)

关于c++ - C++中的**是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3572630/

相关文章:

c++ - 是否有用于阻塞 boost::asio TCP 连接的 boost::iostreams(双向)设备?

c++ - Arduino 的自定义引导加载程序

c - 怎么会无限次发生呢?

c printf 有符号 float

c - 带指针的双向链表段错误

c++ - 使用我的 strupr 实现时程序崩溃

c++ - 多线程程序线程连接问题

c - DQBUF 的 ioctl 的 V4L2 无效参数

c - 在 C 中使用指针对数组进行排序

c++ - dlib 在屏幕上显示值