问题标签 [dynamic-memory-allocation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
347 浏览

c - gdb 报错,但程序运行正常

我有一个简单的 C 程序,它有一个指向字符数组的指针。为了启动它,我使用malloc, 并调整大小,然后在程序中设置它 x 次。

当我使用 调整大小一次时reallocgdb不会显示任何错误,但是,如果我再次尝试调用 resize 函数,gdb会显示以下错误:

任何想法为什么不止一次调整它会产生这个错误?

编辑

我玩弄了它,当我注释掉指针数据的设置时,似乎没有发生错误,这是在调整大小之后。

0 投票
5 回答
4978 浏览

qt - QList 中的动态内存

我对QT没有太多经验,今天就出现了这个问题。

在我检查内存使用情况的第一个循环之后,它会随着新元素的添加而上升,memList但是在第二个循环中删除它们之后,内存使用情况保持在同一水平。我认为这QList是动态的,当元素被删除时它会释放内存。所以要么我遗漏了一些东西(很可能),要么它不是动态结构。你有什么想法如何让它发挥作用吗?

问候

0 投票
5 回答
624 浏览

c++ - 将(同步)堆栈分配的内存传递给其他线程是否安全?

最近听说栈中的内存不与其他线程共享,堆中的内存与其他线程共享。

我通常这样做:

这样做可以吗?

0 投票
2 回答
6325 浏览

qt - QList 内存释放

我在使用 QList 后尝试释放内存,但它似乎无法正常工作。这是我的代码:

内存使用情况:

  • CP1:460k
  • CP2:19996k
  • CP3:19996k
  • CP4:16088k

myList因此,尽管删除了元素并删除了大部分内存,但看起来仍在使用中。我相信有办法处理它,但我找不到它。

提前感谢您的帮助。

帕维尔

0 投票
1 回答
809 浏览

c++ - C++ 中的动态内存和继承结构

假设我有一些这样的结构:

还有一个类:

这会导致问题:

因为它正在删除b,认为它是A类型,它更小。这会导致内存泄漏吗?

另外,假设我想在 myFunc 中分配更多与 b 相同的内容,使用 new,但 C 不知道 b 是属于 A 还是属于 B?有朋友建议typeof,但是VC好像不支持这个。

0 投票
6 回答
2343 浏览

c++ - C++中的内存分配和继承类

假设我有这些结构:

我有一个函数,我想在其中复制这些数组,然后对其进行更改。

但是如果我像这样使用这个函数:

它不会起作用的,不是吗?因为 Derived1 比 Base 大,所以给 Base 分配内存不够?

0 投票
7 回答
3257 浏览

c++ - 动态内存分配问题

当您使用指针在堆上分配动态内存时,

它将在内存中表示为:

为什么末尾没有 NULL 终止字符而不是 ýýýý««««««««þþþ?

0 投票
1 回答
4442 浏览

arrays - ALLOCATABLE 数组还是 POINTER 数组?

我正在用 Fortran 编写新代码,并在使用可分配数组或指针数组之间犹豫不决。我在某处读到可分配数组比指针数组具有显着优势:

1)更高效,因为它们在内存中总是连续的

2) 不可能有内存泄漏

有人可以证实这一点吗?你会建议使用哪一个?这两种替代方案之间的代码执行速度有何结果?

0 投票
3 回答
500 浏览

c - C函数:这是动态分配吗?初始化一个长度变化的数组

假设我有一个 C 函数:

myVec 是动态分配的吗?每当调用 myFunction 时,nObs 都不是常量。我问是因为我目前正在使用这种习惯进行编程,而一个朋友的程序出现错误,罪魁祸首是他没有动态分配他的数组。我想知道我的编程习惯(如上例中的初始化)是否安全。

谢谢。

0 投票
1 回答
2291 浏览

c++ - posix_memalign 用于 std::vector

有没有办法在不首先创建向量的本地实例的情况下对 std::vector 进行 posix_memalign ?我遇到的问题是我需要告诉posix_memalign要分配多少空间,我不知道怎么说

没有实际创建一个新的向量。

谢谢