今天很好奇for循环中声明新的变量在下次循环中是不是会另外声明一次的问题,结果各种报错

#include<iostream>usingnamespacestd;intmain(){for(inti=0;i<3;i++){intj=0;cout<<j<<end... #include<iostream>
using namespace std;
int main()
{
for(int i=0;i<3;i++)
{
int j=0;
cout<<j<<endl;
int *p=new int(2);
cout<<*p<<endl;
delete p;
}
return 0;
}
为什么这个程序360会认为有问题呢 说是木马。只不过是new个变量而已。。。
另外我想问的就是for循环中新定义的变量在下一次是不是会重新声明,如果是new的变量不delete的话 是不是会丢失内存?
展开
 我来答
恶灵的加护
2012-12-19 · TA获得超过969个赞
知道小有建树答主
回答量:492
采纳率:0%
帮助的人:494万
展开全部
每次进行这个循环的时候,j都会被重新物差册声明,然后释放。

p也一样,但是注意的是,系统只会释放指针的空间,不庆碧会释放用new申请的空间。
不管在哪里,new的变量如果你不自己delete的话都会造成内存泄露。

至于360,无视罩宏就好了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式