1
5
首先,您的循环不正确。
其中任何一个都是正确的:
同样地,在
现在,如果您使用variant 1,那么内存应该会像您以前看到的那样增长到千兆字节,而variant 2应该是一个非常恒定的小值。 区别在于
等于
安
多晚?默认情况下,当前运行循环会勾选一次。但是,这里没有显式的运行循环*,因此运行循环没有运行。自动释放池从来没有机会清除这10个 九 分配的临时字符串。 但是,对于变量2,临时字符串会立即释放,因此临时字符串不会填满内存。(我们不需要等待池内的水冲出“池”,不涉及池内的水。) 注: *:A run loop 是附加到每个运行线程的唯一循环。如果编写一个cli实用程序,就很少需要有run循环。 |
Community wiki · 如何调试Python内存故障? 1 年前 |
tuskiomi · 如何为参考提供明确的锈蚀寿命? 2 年前 |
cobb208 · Malloc正在为释放指针引发错误 2 年前 |
mo FEAR · C++ STL映射是否在创建后移动了一个值的位置? 2 年前 |
Pooyanoss · 覆盖类的堆栈分配实例 2 年前 |
TheKing · 为什么数组的地址可以有负值? 2 年前 |
Http2inc · 如何从内存中解析这些二进制数据? 2 年前 |
tifrel · 如何检查已编译类型的表示形式? 2 年前 |
Gabriele · 释放GSL矩阵的正确方法是什么? 6 年前 |
Makogan · 3D纹理大小影响程序输出,不会引发错误 6 年前 |