Sobes.tech
Назад к вопросам
Junior — Middle
83

Каково назначение ключевого слова static в языке C++?

Компании, где спрашивали
А-стор

Ответ от нейросети

sobes.tech AI

Ключевое слово static в C++ имеет несколько значений в зависимости от контекста:

  1. Внутри функции: статическая локальная переменная сохраняет своё значение между вызовами функции.
void func() {
    static int count = 0;
    count++;
    std::cout << count << std::endl;
}
// Каждый вызов func() увеличит count, и значение не сбросится.
  1. Внутри класса: статический член класса принадлежит самому классу, а не конкретному объекту. Он общий для всех экземпляров.
class MyClass {
public:
    static int staticVar;
};

int MyClass::staticVar = 0;

// Доступ: MyClass::staticVar
  1. На уровне файла (глобальные переменные или функции): ограничивает область видимости переменной или функции текущим файлом (translation unit), предотвращая внешнее связывание.

Таким образом, static управляет временем жизни, областью видимости и принадлежностью данных или функций.