如果一个对象是用关键字new创建的,然后被推到vector中,我还需要删除它吗?

如果一个对象是用关键字new创建的,然后被推到vector中,我还需要删除它吗?,vector,Vector,问题如标题所述,示例代码如下: #include <vector> //I have a rabbit class... vector<rabbit> rabbitArmy (numOfRabbits,rabbit()); rabbit* rabbitOnHeap = new rabbit(); rabbitArmy.push_back(*rabbitOnHeap); #包括 //我有一节兔子课。。。 媒介兔军(numOfRabbits,rabbit()); 兔子*

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

#include <vector>
//I have a rabbit class...
vector<rabbit> rabbitArmy (numOfRabbits,rabbit()); 
rabbit* rabbitOnHeap = new rabbit(); 
rabbitArmy.push_back(*rabbitOnHeap);
#包括
//我有一节兔子课。。。
媒介兔军(numOfRabbits,rabbit());
兔子*rabbitOnHeap=新兔子();
拉比特军。推回(*拉比特堆);

提前谢谢

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


PS:如果有人说“是的,你是对的”,那就太好了。所以我可以确认我的答案:)

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

PS:如果有人评论“是的,你是对的”,那就太好了。所以我可以确认我的回答:)

删除了称呼语:“提前感谢!”,请下次不要再做删除的称呼语:“提前感谢!”,请下次不要再做