0

我有一个相对简单的问题。在我的一个 CS 课程中,为了完成一项作业,我们必须使用 C++ 和 XLib 库制作一个简单的横向卷轴游戏。在我们为班级开设的论坛中,很多学生抱怨内存泄漏和动态分配问题。我几乎完成了任务,但我不必使用任何动态分配。我一直在使用堆栈空间,到目前为止还没有遇到任何问题。

我只是想知道这是否有任何缺点?似乎很多其他学生都在使用动态分配。如果我的小游戏仅使用堆栈就可以正常工作,我有什么理由担心吗?

多谢你们。

4

2 回答 2

1

在堆栈上使用内存本身并没有错,尽管您需要小心分配任何大小合适的东西。

例如:

// inside some function ...
int blah[1000];
// ...code using blah

可能工作正常,或者您可能会用完空间并静默失败。

如果您需要大量内存,我建议使用new/ ,但在堆栈上使用小数组很好。malloc()

于 2013-01-25T19:18:29.843 回答
0

如果您非常担心动态内存分配和内存泄漏,为什么不尝试使用智能指针:

这里http://en.wikipedia.org/wiki/Smart_pointer#C.2B.2B_smart_pointers

于 2013-01-25T19:14:45.197 回答