发新话题
打印

问个关于vector的问题!

问个关于vector的问题!

1.定义一个存放Input型指针的vector命名为: m_input
std::vector <Input*>   m_input;

2.若现在定义一个局部Input型指针命名:_input;
_input=new Input();
3.然后执行把这个指针放进vector内
m_input.push_back(_input);

4.问题来了,请问这个_input指针还存在吗?为什么不能delete了呢?(在局部里不能,我只能在vector里把它清除)

个人认为这个局部的_input指针不存在了,无需delete了
请问是不是这会事呢???

TOP

如果是指针的话,不要用delete,应当用free。
换个头像,看见广告就眼红,直接封ID。

TOP

vector::clear()和vecotr::pop_back()对内存如何处理的。。。      ???

看了下有点晕,,是不是都没有释放内存呢?

TOP

这块我也不是很熟,不过C++肯定需要手工释放内存。
换个头像,看见广告就眼红,直接封ID。

TOP

???我的vector没用好过。

TOP

个人认为这个局部的_input指针不存在了,无需delete了
请问是不是这会事呢???
实际上,_input依然存在,但无法释放其空间,因为_input所指向的空间被vector调用,所以释放_input应在其不调用时释放

TOP

受不了,几天不更新一次

TOP

发新话题