C++ 删除 [] 运算符
C++ Delete [] Operator
有
#include <iostream>
using namespace std;
int main()
{
float* temps = new float[10];
float* temps2 = temps;
delete[] temps2;
return 0;
}
与
具有相同的工作原理
#include <iostream>
using namespace std;
int main()
{
float* temps = new float[10];
float* temps2 = temps;
delete[] temps;
return 0;
}
?
他们都释放了所有分配的内存吗?还是我必须删除[]原来的指针?
两个都很好。
只要指针具有完全相同的类型(允许更改 const
或从 const
更改),您就可以调用 delete[]
.
(请注意,对于 new
和 delete
,指针可以是多态相关的,但对于 new[]
和 delete[]
).
有
#include <iostream>
using namespace std;
int main()
{
float* temps = new float[10];
float* temps2 = temps;
delete[] temps2;
return 0;
}
与
具有相同的工作原理#include <iostream>
using namespace std;
int main()
{
float* temps = new float[10];
float* temps2 = temps;
delete[] temps;
return 0;
}
?
他们都释放了所有分配的内存吗?还是我必须删除[]原来的指针?
两个都很好。
只要指针具有完全相同的类型(允许更改 const
或从 const
更改),您就可以调用 delete[]
.
(请注意,对于 new
和 delete
,指针可以是多态相关的,但对于 new[]
和 delete[]
).