Предположим, у меня есть функция в однопоточной программе, которая выглядит так
void f(some arguments){
char buffer[32];
some operations on buffer;
}
, а f появляется внутри некоторого цикла, который часто вызывается, поэтому я хотел бы сделать это как можно быстрее. Мне кажется, что буфер должен выделяться каждый раз, когда вызывается f, но если я объявлю его статическим, этого не произойдет. Это правильное рассуждение? Это бесплатное ускорение? И только из-за этого факта (это легкое ускорение), делает ли оптимизирующий компилятор что-то подобное для меня?