C++ new的用法
int *p;
while(1)
{
p = new int;
}
假如说,这里面被new了10次,并且每个被new的对象都被赋值了,到最后我怎么打印出这十个值的变量。
[解决办法]
你打印不出来,你没有保存指针.内存泄露
- C/C++ code
int *p[10];for(int i = 0; i <10; i++){ p[i] = new int;}
[解决办法]
new一次打印一次就可以了
[解决办法]
int *p;
while(1)
{
p = new int;
}
这样用法肯定是有问题的
用1#的方法,最后用
for(int i = 0; i <10; i++)
{
delete p[i];
}
来释放内存
另一方法是用
int *p;
p=new int[10];
然后就可以对p[0],p[1]...,p[9]进行赋值了
[解决办法]
http://blog.csdn.net/hondely/article/details/6779887
这里有讲 一维数组 二维数组的实现申请
[解决办法]
在C++中new和delete是要成对出现的
比如
int*p = new int[n];//n >=1,n是整数
使用数直接操作p[i]就可以了,i>=0 && i<n
注意要释放内存
delete []p;