dynamic-memory-allocation相关内容

动态分配/释放2D& 3D阵列

我知道有关动态分配/取消分配2D数组的算法,但是对于3D阵列我并不太了解。 使用这种知识和一些对称性,我想出了以下代码。 (在编码时我很难在3D中进行可视化)。 请评论正确性,并建议任何更好的选择(效率或直觉),如果有的话。 另外,我认为这两个2D像数组arr2D [2] [3]和 arr3D [2] [3] [2]这样的静态数组就可以正常访问3D数组。对? 2 ..

CUDA新删除

有人可以清楚地解释如果从 __ device __ 或 __ global __ 调用新的和删除关键字的行为,代码在CUDA 4.2? 内存分配在哪里,如果它在设备上是本地还是全局? 它的问题的上下文条件我试图在GPU上创建神经网络,我想要一个链接的表示(像一个链表,但每个神经元存储一个链接持有权重的连接列表,以及指向其他神经元的指针),我知道我可以在内核启动之前使用 cudaMall ..
发布时间:2017-03-04 12:14:19 其它硬件开发

内存管理中的大小的重新分配功能C ++ 1y

已建议在C ++ 1y中包含大小调整功能。但是,我想了解如何影响/改进 当前的c ++ 低级内存管理 p> 此提案位于 N3778 strong>,程序员可以定义一个静态成员函数操作符 delete,它使用一个大小参数指示要删除的对象 的大小。等效全局运算符delete不可用。 此省略具有不良的性能后果。 现代内存分配器通常按大小类别分配,对于 空间效率原因,不存储 对象附近 ..
发布时间:2016-11-06 00:38:27 C/C++

为什么顶层代码工作,底层代码不在c ++中进行动态矩阵分配?

我已经摆脱了工作,因为他们分心的代码。 我想做的是为一个3D数组分配一块内存。 这是我当前的代码片段: //创建一个正确大小的数组 //我首先创建一个指针数组 phi = new double ** [xlength ]; //然后创建另一个指针数组 phi [0] = new double * [xlength * ylength]; //此时,我假设phi [0] ..
发布时间:2016-11-03 02:07:51 C/C++开发

MPI中的动态内存分配

我是MPI的新手。我写了一个简单的代码来显示使用多进程的矩阵。假设我有一个8x8的矩阵,并启动MPI程序与4个进程,第一2行将打印我的第一个过程第二组2行将打印第二线程等等通过划分自己。 #define S 8 MPI_Status状态; int main(int argc,char * argv []) { int numtasks,taskid; int i,j ..
发布时间:2016-11-02 22:40:58 C/C++开发

尝试写入矩阵后的C ++分段故障

我有这个3D矩阵,我分配为一块内存,但当我尝试写入darn的东西,它给我一个分段的错误。这件事对两个维度工作正常,但由于某种原因,我有麻烦的第三个...我不知道在分配的错误在哪里。 以下是代码: phi = new double ** [xlength]; phi [0] = new double * [xlength * ylength]; phi [0] [0] = ne ..
发布时间:2016-11-02 20:51:39 C/C++开发

C ++对象的构造函数

我有类Person,如下: class Person { char * name; int age }; 现在我需要添加两个造型。一个不带参数,将字段值插入动态分配的资源。第二次取(char *,int)由初始化列表初始化的参数。最后一部分是定义一个析构函数,显示有关销毁对象和解除动态分配资源的信息。如何执行此任务? 这是我已经有的: clas ..
发布时间:2016-11-02 02:45:12 C/C++开发

如何动态分配内存到多态数据类型?

我有一个集合类,可以多态地保存和管理任何类型的Multinumber。这可以是类型为Pair,Rational或Complex的对象。我遇到的问题是,这个类需要动态内存管理,在许多情况下,如下面的功能,我不知道要分配什么类型。因为集合是类型不可知的,我不知道我应该做Multinumber * var = new Complex,Rational或Pair。有什么方法来检查我首先添加的类型,或将此信 ..
发布时间:2016-11-01 20:35:44 C/C++开发

C ++ New vs Malloc用于对象的动态内存数组

我有一个类Bullet,它的构造需要几个参数。但是,我使用动态存储器阵列来存储它们。我使用C ++,所以我想符合它的标准通过使用新的运算符来分配内存。问题是,当我分配数组时,新操作符要求构造函数参数,我当时没有。我可以使用malloc获得正确的大小,然后在那里填写表单,但这不是我想使用:)任何想法。 pBulletArray =(Bullet *)malloc(iBulletArraySi ..