如果使用关键字new创建对象,然后将其推入向量,是否仍需要删除它?

时间:2013-02-13 05:18:56

标签: vector

问题如标题所示,示例代码如下:

#include <vector>
//I have a rabbit class...
vector<rabbit> rabbitArmy (numOfRabbits,rabbit()); 
rabbit* rabbitOnHeap = new rabbit(); 
rabbitArmy.push_back(*rabbitOnHeap);

提前致谢!

1 个答案:

答案 0 :(得分:1)

有人回答我的另一个问题,在这个问题上给我启发: 因为push_back实际上将对象复制到向量,所以我仍然应该删除rabbitOnHeap。 此外,我根本不需要使用new关键字向vector添加对象。

PS:如果有人评论“是的,你是对的”,那将是非常好的。所以我可以确认我的答案:)