Що таке 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. Він є спільним для всіх екземплярів класу і може використовуватися без створення об'єкта.
Коментарі