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