我一直在研究一堆图像处理程序..没什么花哨的,主要是快速而肮脏的实验。图像数据存储在堆栈上声明的向量中(当我不需要传递数据时,我尽量避免使用指针)。我注意到尽管进行了无数次的调试和单步调试,我的一些函数的行为仍然非常奇怪。有时调试器会给我一个错误,它不能评估某个变量等等。事情通常是没有意义的,过去的经验告诉我,当这种情况发生时,这意味着发生了某种溢出或内存损坏。首先想到的是,这可能是由于我将大量图像数据存储到向量中。
然而,我的印象是向量将它们的实际数据存储在堆中,所以我认为在堆栈中放置一些这样的大向量并没有什么坏处。我这样想错了吗?我应该分配我的向量并将它们存储在堆而不是堆栈中吗?
谢谢,