НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

C++ Підручник

C++ Головна C++ Інтро C++ Початок роботи C++ Синтаксис C++ Виведення C++ Коментарі C++ Змінні C++ Введення користувача C++ Типи даних C++ Оператори C++ Рядки C++ Математика C++ Булеві C++ Умови C++ Switch C++ Цикл While C++ Цикл For C++ Break/Continue C++ Масиви C++ Структури C++ Enums C++ Довідники C++ Вказівники

C++ Функції

C++ Функції C++ Параметри функції C++ Перевантаження функцій C++ Область застосування C++ Рекурсія

C++ Класи

C++ ООП C++ Класи/Об’єкти C++ Методи класу C++ Конструктори C++ Специфікатори доступу C++ Інкапсуляція C++ Успадкування C++ Поліморфізм C++ Файли C++ Винятки C++ Дата

C++ Як зробити

Скласти два числа Випадкові числа

C++ Довідник

C++ Довідник C++ Ключові слова C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime>

C++ Приклади

C++ Приклади C++ Компілятор C++ Вправи C++ Вікторина C++ Сертифікат

Мова програмування C++. Уроки W3Schools для початківців українською мовою

En Es De

C++ Область дії змінної


Тепер, коли ви розумієте, як працюють функції, важливо дізнатися, як діють змінні всередині та поза функціями.

У C++ змінні доступні лише в тій області, де вони створені. Це називається область дії.


Локальна область дії

Змінна, створена всередині функції, належить до локальної області дії цієї функції та може використовуватися лише всередині цієї функції:

Приклад

void myFunction() {
  // Локальна змінна, яка належить myFunction
  int x = 5;

  // Вивести змінну x
  cout << x;
}

int main() {
  myFunction();
  return 0;
}
Спробуйте самі »

Локальна змінна не може використовуватися поза функцією, до якої вона належить.

Якщо ви спробуєте отримати до неї доступ поза функцією, станеться помилка:

Приклад

void myFunction() {
  // Локальна змінна, яка належить myFunction
  int x = 5;
}

int main() {
  myFunction();

  // Вивести змінну x в функції main
  cout << x;
  return 0;
}
Спробуйте самі »

Глобальна область дії

Змінна, створена поза функцією, називається глобальною змінною та належить до глобальної області дії.

Глобальні змінні доступні в будь-якій області дії, глобальній та локальній:

Приклад

Змінна, створена поза функцією, є глобальною і тому може використовуватися будь-ким:

// Глобальна змінна x
int x = 5;

void myFunction() {
  // Тут ми можемо використати x
  cout << x << "\n";
}

int main() {
  myFunction();

  // Ми також можемо використовувати x тут
  cout << x;
  return 0;
}
Спробуйте самі »

Іменування змінних

Якщо ви працюєте з однаковою назвою змінної всередині та поза функцією, C++ розглядатиме їх як дві окремі змінні; Одна доступна у глобальній області дії (поза функцією) і одна доступна у локальній області дії (всередині функції):

Приклад

Функція надрукує локальний x, а потім код надрукує глобальний x:

// Глобальна змінна x
int x = 5;

void myFunction() {
  // Локальна змінна з тим самим іменем, що й глобальна змінна (x)
  int x = 22;
  cout << x << "\n"; // Посилається на локальну змінну x
}

int main() {
  myFunction();

  cout << x; // Посилається на глобальну змінну x
  return 0;
}
Спробуйте самі »

Однак вам слід уникати використання однакових імен змінних як для глобальних, так і для локальних змінних, оскільки це може призвести до помилок і плутанини.

Загалом, вам слід бути обережними з глобальними змінними, оскільки до них можна отримати доступ і змінити їх з будь-якої функції:

Приклад

Змініть значення x із myFunction:

// Глобальна змінна x
int x = 5;

void myFunction() {
  cout << ++x << "\n"; // Збільшити значення x на 1 й вивести його
}

int main() {
  myFunction();

  cout << x; // Вивести глобальну змінну x
  return 0;
}

// Значення x тепер дорівнює 6 (більше не 5)
Спробуйте самі »

Висновок

Підсумовуючи, використовуйте локальні змінні (з хорошими назвами змінних) якомога більше. Це зробить ваш код легшим для підтримки та кращим для розуміння. Однак ви можете знайти глобальні змінні під час роботи над існуючими програмами C++ або під час співпраці з іншими. Тому добре зрозуміти, як працює область дії та як її ефективно використовувати, щоб переконатися, що ваш код є зрозумілим і функціональним.



Коментарі