动态分配与使用堆栈

时间:2013-01-25 19:11:43

标签: stack dynamic-allocation

我有一个相对简单的问题。在我的一个CS课程中,对于作业,我们必须使用C ++和XLib库制作一个简单的横向滚动游戏。在我们上课的论坛中,很多学生抱怨内存泄漏和动态分配问题。我差不多完成了任务,但我没有必要使用任何动态分配。我刚刚使用堆栈空间,到目前为止没有任何问题。

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

谢谢你们。

2 个答案:

答案 0 :(得分:1)

在堆栈上使用内存本身并没有什么不妥,但是你需要注意分配大小合适的内容。

例如:

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

可能会正常工作,或者你可能会用完空间并无声地失败。

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

答案 1 :(得分:0)

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

此处http://en.wikipedia.org/wiki/Smart_pointer#C.2B.2B_smart_pointers

相关问题