问题标签 [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 投票
5 回答
248 浏览

java - Java 未请求的内存分配

在 JConsole 下观察到的以下代码显示了堆大小的不断增加。堆达到最大 25mb,然后 GC 运行并将堆大小减小到近 3MB。这是预期的行为吗?我很惊讶!

我正在使用雪豹。

0 投票
2 回答
266 浏览

c++ - 我是否必须在堆(存储在)堆容器中分配所有内容?

使用 new 关键字时,我将覆盖 new 运算符以手动分配堆空间。

通常使用带有指向其项目的指针的堆栈分配的堆容器-

-很好。但我很挑剔,我想做缓冲——

- 让我修改 POD 类型。因此,我将它们分配在自然适合它们使用的堆栈上:

但它破坏了堆(我经历了一个糟糕的几周)并给出了一个疯狂的错误:

我预先分配数组对象,然后在push_back()内部使用 = 运算符。

我通过在堆上分配临时对象然后将它们添加到数组中解决了这个问题。但这似乎不对,我就是不明白。

根据要求,一些代码:

请注意,这一切都适用于堆分配的CVertex,因为我在缓冲区元素的二进制搜索中使用这些对象(在给定顶点的索引缓冲区中找到正确的项目)并且它构建了一个非常好的网格!

0 投票
3 回答
137 浏览

c++ - 链表实施问题

我正在尝试使用底层链表结构制作堆栈。

也许我错了,但我在使用 remove() 函数时遇到了问题。

我正在检测 glibc

双重免费或腐败(出局);

由于我正在为受害者分配新内存,我不必删除受害者,还是我不必担心?

0 投票
2 回答
1069 浏览

c - C 3d数组动态内存分配,问题,需要帮助

我在网上寻找一种为 3d 矩阵动态分配空间的方法,比如 int 类型。我发现了很多关于 2d 矩阵的网站,这个 http://www.taranets.com/cgi/ts/1.37/ts.ws.pl?w=329;b=286 还有这个例子如下所示。我理解了上述所有例子,但关于 3d 我不能。创作者是以向后的方式分配空间还是其他方式?他从为整个矩阵分配空间开始,然后进入 Z 轴?那是我无法理解的。

另外,如果您知道任何与此相关的好网站,请在此处发布,我们将不胜感激。

0 投票
7 回答
377 浏览

c++ - 指针分配与普通声明

有时我会在各种 C++ 程序中看到这样声明和使用的对象:

这样做有什么好处,而不是简单地做:

0 投票
4 回答
1401 浏览

memory - 有什么工具可以找到使用 malloc/realloc 动态分配的内存大小?

我有一个包含所有 c 代码的 MS-Visual Studio 2005 工作区。此应用程序(exe)使用 malloc 和 realloc 从堆中动态分配内存。当我运行特定的测试用例时,我想计算这个应用程序使用 malloc/realloc 在堆上分配的最大大小。

我不想通过记录 malloc 大小并累积它们来更改代码,因为:

a) 可能存在这样一种情况,一些 1KB 的内存被分配,然后被释放,然后 2KB 的内存被分配。所以最大值是 2KB,我需要将其作为值而不是 1+2=3KB。

因此,我必须真正查看此代码中发生的所有 malloc/free 并为此添加代码,这是我想避免的。

1) 那么是否有任何工具(免费软件/许可)来查找使用 malloc/realloc 动态分配的最大或总内存的大小?

2) MS Visual Studio 2005/2008 本身是否提供任何此类功能?

谢谢,

-广告

0 投票
2 回答
2266 浏览

c++ - 插入地图时的内存分配

使用 g++ -Wall -ansi test.cpp -o test 编译

运行测试。

为什么在 n = 0 时调用 GetMemory 有 3 次?

0 投票
3 回答
524 浏览

c++ - 内存分配问题 C/Cpp Windows 严重错误

我有一个代码需要从 C 语言“翻译”到 Cpp,但我不明白,哪里出了问题。有一部分,它崩溃了(Windows严重错误发送/不发送):

日志:

所以它在分配循环开始时崩溃。如果我删除这个循环,它会在下一行分配时崩溃。这是否意味着像这样的数字我没有足够的内存?

谢谢你。

0 投票
3 回答
1826 浏览

iphone - 保留、分配、属性……让你的 Obj-c 生活更轻松的主题!

我编码的越多,我就越迷失......所以我决定为我(和其他人)创建一个完全致力于内存管理的主题,而不是浪费时间理解 obj-c 基础......我将它更新为提出了新的问题!

好的,下面是一些示例:

--- 所以,如果我理解……当你放 self.myArray 时,你告诉 Xcode 使用 getter 或 setter,但是当你只做 myArray 时,你负责一切,对吧?

[已解决] UPDATE1:两者之间是否有区别:

--- 是的,有区别(见上面的评论)

[已解决] UPDATE2:下面的 myArray 是否等于 nil ?

--- Kubi : 是的,它等于 nil。

[已解决] UPDATE3:它是否计入 2 次保留?一个从 self 中保留,一个从 alloc 中保留?这是内存泄漏吗?

--- Kubi:是的,这是内存泄漏!

[已解决] UPDATE4:物业负责一切?不需要分配或释放?

--- 我们这里使用 setter 以便正确保留数组

[已解决] UPDATE5:这两个块相同吗?

--- Kubi : 是的,它们是一样的

谢谢你的时间。

哥提。

0 投票
4 回答
4775 浏览

c++ - 具有固定插入次数的 Map 的内存分配

我想将 n 个元素插入到预先知道 n 的地图中。我不想在每次插入时分配内存。我想在开始时分配所有内存。有没有办法做到这一点?如果是这样,怎么做?编写某种内存分配器会有帮助吗?

我运行 GMan 的代码并得到以下输出。GetMem 是从对“new”的调用中打印出来的,而 FreeMem 是从对删除的调用中打印出来的。size 是请求的字节数,ptr 是返回的指针。显然,分配/解除分配是在插入期间进行的。你怎么解释这个?

GetMem size 40, ptr 0x8420008
GetMem size 40, ptr 0x8420038
GetMem size 120, ptr 0x8420068
GetMem size 120, ptr 0x84200e8
FreeMem ptr 0x8420068
FreeMem ptr 0x8420038
FreeMem ptr 0x8420008
Inserting: [0,0]
GetMem size 40, ptr 0x8420008
FreeMem ptr 0x8420008
Inserting : [1,2]
GetMem 大小 40, ptr 0x8420008
FreeMem ptr 0x8420008
插入: [2,4]
GetMem 大小 40, ptr 0x8420008
FreeMem ptr 0x8420008插入 :
[3,6]
GetMem 大小 40, ptr 0x8420008
FreeMem ptr 0x842000
4,8]
GetMem 大小 40,ptr 0x8420008
FreeMem ptr 0x8420008
插入:[5,10]
GetMem size 40, ptr 0x8420008
FreeMem ptr 0x8420008
GetMem size 40, ptr 0x8420008
FreeMem ptr 0x8420008
GetMem size 40, ptr 0x8420008
FreeMem ptr 0x8420008
GetMem size 40, ptr 0x8420008
FreeMem ptr 0x8420008
GetMem size 40, ptr 0x8420008
FreeMem ptr 0x8420008
FreeMem ptr 0x84200e8
St9bad_alloc