Статические переменные существуют вне функции, по крайней мере, с точки зрения их памяти (не объема), верно?Но меня всегда беспокоило то, что происходит, когда я вызываю функцию во второй раз.Например:
f(){
static char buffer[256*256];
stuff(buffer);
}
Когда я вызываю эту функцию во второй раз, технически она не объявляет переменную 'buffer' второй раз?Или он работает по-разному со статическими переменными (в отличие от обычных) после того, как все скомпилировано?
... Иногда мне хотелось бы, чтобы был график или что-то вроде того, во что компилятор c ++ обычно превращает код (без оптимизации), чтобы мне не пришлось беспокоить вас, ребята, с такими маленькими вопросами, как этот, ага.Заранее спасибо!
edit: я знаю, что это работает так, я просто хочу знать почему, хотя.Это, наверное, что-то ошеломительно простое ...