【发布时间】:2010-05-07 20:39:26
【问题描述】:
vector< int > vect;
int *int_ptr = new int(10);
vect.push_back( *int_ptr );
我理解每个“新”之后都需要在某个时间点跟一个“删除”,但是 clear() 方法是否会清除此内存?
这种做同样事情的方法怎么样:
vector< int > vect;
int int_var = 10;
vect.push_back( int_var );
据我了解, clear() 调用变量析构函数,但此示例中的两个 vect.push_back() 方法都将对象推送到向量上,而不是指针。那么第一个使用 int 指针的例子是否需要 clear() 以外的东西来清理内存?
【问题讨论】:
标签: c++ vector memory-management