Что такое static в C++?
Ключевое слово static имеет различные значения в зависимости от контекста его использования.
Статические переменные внутри функций:
void exampleFunction() {
// Статическая переменная
static int staticVariable = 0;
std::cout << "Статическая переменная: " << staticVariable << std::endl;
// Увеличиваем значение
staticVariable++;
}
int main() {
// Вызываем функцию несколько раз
exampleFunction();
exampleFunction();
exampleFunction();
return 0;
}В этом примере staticVariable является статической переменной внутри функции exampleFunction. Она сохраняет свое значение между вызовами функции и инициализируется только один раз при первом вызове.
Статический член класса:
class ExampleClass {
public:
// Статический член класса
static int staticMember;
};
// Инициализация статического члена класса
// Можно обращаться напрямую без создания объекта
int ExampleClass::staticMember = 0;В этом примере staticMember является статическим членом класса ExampleClass. Он общий для всех экземпляров класса и может использоваться без создания объекта.
Комментарии