Я работал над кучей программ обработки изображений... ничего особенного, в основном экспериментировал быстро и грязно. Данные изображения хранятся в векторах, которые объявлены в стеке (я стараюсь избегать использования указателей, когда мне не нужно передавать данные). Я заметил, что некоторые из моих функций ведут себя очень странно, несмотря на бесчисленное количество отладки и пошагового выполнения. Иногда отладчик, среди прочего, выдавал мне ошибку, что он не может оценить определенную переменную. Вещи, как правило, просто не имеют смысла, и прошлый опыт подсказывает мне, что когда это происходит, это означает, что происходит какое-то переполнение или повреждение памяти. Первое, что пришло на ум, это то, что это, вероятно, связано с тем, что я храню много данных изображения в векторах.
Однако у меня сложилось впечатление, что векторы хранят свои фактические данные в куче, и поэтому я подумал, что не повредит иметь несколько таких больших векторов в стеке. Я ошибаюсь, думая об этом? Должен ли я выделять свои векторы и хранить их в куче, а не в стеке?
Спасибо,