Я впевнений, що ви знайомі зі специфікаторами класу зберігання в C, які є "зовнішній", "статичний", "реєстр" та "автоматичний". Визначення "auto" в значній мірі дається в інших відповідях, але ось можливе використання ключового слова "auto", в якому я не впевнений, але я думаю, що це залежить від компілятора. Розумієте, щодо специфікаторів класу зберігання є правило. Неможливо використовувати декілька специфікаторів класу зберігання для змінної. Ось чому статичні глобальні змінні не можуть бути зовнішніми. Тому вони відомі лише їхньому файлу. Перейшовши до налаштування компілятора, ви можете включити прапор оптимізації для швидкості. один із способів оптимізації компілятора - він шукає змінні без специфікаторів класу зберігання, а потім робить оцінку на основі наявності кеш-пам'яті та деяких інших факторів, щоб побачити, чи слід обробляти цю змінну, використовуючи специфікатор реєстру чи ні. Тепер, що робити, якщо ми хочемо оптимізувати наш код для швидкості, знаючи, що певна змінна в нашій програмі не дуже важлива, і ми не хочемо, щоб компілятор навіть розглядав її як реєстр. Я, якщо, поставивши auto, компілятор не зможе додати специфікатор регістру до змінної, оскільки набрав "register auto int a;" АБО "автореєстр int a;" підвищує помилку використання декількох специфікаторів класу зберігання. Підсумовуючи це, я думав, що авто може заборонити компілятору обробляти змінну як регістр шляхом оптимізації. що робити, якщо ми хочемо оптимізувати наш код для швидкості, знаючи, що певна змінна в нашій програмі не дуже важлива, і ми не хочемо, щоб компілятор навіть розглядав її як реєстр. Я, якщо, поставивши auto, компілятор не зможе додати специфікатор регістру до змінної, оскільки набрав "register auto int a;" АБО "автореєстр int a;" підвищує помилку використання декількох специфікаторів класу зберігання. Підсумовуючи це, я думав, що авто може заборонити компілятору обробляти змінну як регістр шляхом оптимізації. що робити, якщо ми хочемо оптимізувати наш код для швидкості, знаючи, що певна змінна в нашій програмі не дуже важлива, і ми не хочемо, щоб компілятор навіть розглядав її як реєстр. Я, якщо, поставивши auto, компілятор не зможе додати специфікатор регістру до змінної, оскільки набрав "register auto int a;" АБО "автореєстр int a;" підвищує помилку використання декількох специфікаторів класу зберігання. Підсумовуючи це, я думав, що авто може заборонити компілятору обробляти змінну як регістр шляхом оптимізації. підвищує помилку використання декількох специфікаторів класу зберігання. Підсумовуючи це, я думав, що авто може заборонити компілятору обробляти змінну як регістр шляхом оптимізації. підвищує помилку використання декількох специфікаторів класу зберігання. Підсумовуючи це, я думав, що авто може заборонити компілятору обробляти змінну як регістр шляхом оптимізації.
Ця теорія не працює для компілятора GCC, проте я не пробував інших компіляторів.
autoможна вказати, але не відбудеться за замовчуванням?