Несколько функций в проекте C ++ OpenCV, над которым я работаю, используют локальные переменные Mat (и UMat) в качестве временных буферов для внутренних вычислений.
Я бы хотел запретить этим функциям выделять память для всех своих локальных переменных Mat каждый раз, когда они вызываются.
Цель этого состоит не в том, чтобы использовать меньше памяти, а в том, чтобы убедиться, что память доступна или перестала работать при первом вызове, и предотвратить возможные издержки из-за выделения памяти.
Чтобы предотвратить перераспределение, я думал о том, чтобы объявить локальные переменные Mat как статические и убедиться, что они всегда будут хранить одинаковый размер и тип данных в функциях, несмотря на то, что мне нет дела до переноса данных, которые они хранят, при множественных вызовах.
Имеет ли этот подход смысл? Я делаю это неправильно или есть лучший / безопасный?