С точки зрения транслятора, все переменные (создаваемые при трансляции) являются динамическими?
Т. е. для нас:
int main(void) { int int1; return 0;} int1 является статической, а для gcc динамической?
Или я бред несу?
Т. е. для нас:
int main(void) { int int1; return 0;} int1 является статической, а для gcc динамической?
Или я бред несу?
Нет. инт1 статический.
int *int2 = new int; вот динамическая переменная.
Бред, да. Для gcc int1 - вообще не переменная, это идентификатор в файле, название которого передали ему параметром. А внутренние переменные gcc (статические и динамические) надо смотреть в его исходном коде.
Короче, вношу ясность: динамическая переменная - это переменная типа "указатель", значение которого определяется менеджером кучи в процессе выполнения команды выделения памяти. Если ты оставляешь выделение памяти на усмотрение компилятора, транслятора, чего угодно - это статика. Даже если в случае с транслятором это и не совсем так, лучше об этом не упоминать, чтобы не разводить терминологическую путаницу.