dme*_*ssf 0 c++ memory pointers memory-leaks
如果我在循环中有以下行:
Type *unite = new Type(newSize);
Run Code Online (Sandbox Code Playgroud)
要么
double *array= new double[anySize];
Run Code Online (Sandbox Code Playgroud)
如果我内部没有删除操作符,那么对内存的关注是什么?它会不断地在不同的内存位置分配对象和数组,从而导致内存泄漏?
Tyl*_*nry 12
是的,它会的.这个:
for (int i = 0; i < 10; ++i)
{
Type* unite = new Type(newSize);
}
Run Code Online (Sandbox Code Playgroud)
将分配10个类型的对象Type,所有对象都在不同的位置.它们都不会被释放,最后你将不会指向任何一个.你将泄漏10 * sizeof(Type)内存字节.
同样,这个
for (int i = 0; i < 10; ++i)
{
double *array= new double[anySize];
}
Run Code Online (Sandbox Code Playgroud)
将出于同样的原因泄漏10 * anySize * sizeof(double)内存字节.
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |