gpt4 book ai didi

c++ - 使用指针清理对象

转载 作者:行者123 更新时间:2023-11-30 02:39:03 25 4
gpt4 key购买 nike

只是想知道以下内容是否属实,因为我正在努力在我正在开发的小游戏中实现重置功能。<​​/p>

所以如果我有这样的设置:

class Game {
public:
Game(Ball b, Paddle one, Paddle two) : b(b), one(one), two(two) { }
void initGame();
void resetGame();
private:
Ball b;
Paddle one;
Paddle two;
std::vector<GameObject *> objects;
};

Game::initGame() {
objects.push_back(&b);
objects.push_back(&one);
objects.push_back(&two);
}

Game::resetGame() {
while (!objects.empty()) {
objects.pop_back();
}
b = Ball();
one = Paddle();
two = Paddle();

initGame();
}

我的问题是关于 resetGame 方法。我清空指针数组,然后替换下面的对象。现在,鉴于它们是指向内存片段的指针,并且原始对象被替换,原始内存是否泄漏?我应该先删除数据吗?我知道 delete 与 new 结合使用,但我不确定编译器是否为我清理了它。

谢谢。

最佳答案

不,这里没有泄漏,因为内存不是动态分配的。

关于c++ - 使用指针清理对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30173857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com