Back to questions
Junior — Middle
83
Какова роль и применение ключевого слова static в программировании?
Companies where asked
А-стор
Answer from AI
sobes.tech AI
В C/C++ ключевое слово static имеет несколько применений, связанных с областью видимости и временем жизни переменных и функций:
- Внутри функции:
- Переменная, объявленная как
static, сохраняет своё значение между вызовами функции. - Она инициализируется только один раз.
- Переменная, объявленная как
void func() {
static int count = 0;
count++;
std::cout << count << std::endl;
}
// Каждый вызов func() увеличивает count, и значение сохраняется между вызовами.
- Внутри файла (глобальная область):
staticограничивает область видимости функции или переменной текущим файлом (translation unit).- Это предотвращает конфликт имён при линковке.
static void helper() {
// Эта функция видна только в этом файле
}
- В классе (C++):
staticчлен класса принадлежит самому классу, а не конкретному объекту.- Общий для всех экземпляров.
class MyClass {
public:
static int count;
};
int MyClass::count = 0;
Таким образом, static управляет временем жизни, областью видимости и принадлежностью переменных и функций.