Board logo

标题: 问个关于vector的问题! [打印本页]

作者: netice    时间: 2008-4-21 05:25     标题: 问个关于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了
请问是不是这会事呢???
作者: Nothing    时间: 2008-4-21 10:16

如果是指针的话,不要用delete,应当用free。
作者: netice    时间: 2008-4-25 18:56

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

看了下有点晕,,是不是都没有释放内存呢?
作者: Nothing    时间: 2008-4-25 20:31

这块我也不是很熟,不过C++肯定需要手工释放内存。
作者: 海月清辉    时间: 2008-4-28 19:03

???我的vector没用好过。
作者: tocy    时间: 2008-7-16 08:49

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

受不了,几天不更新一次




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0