Ідеальний старт для майбутніх IT-розробників 👨‍💻 зі знижкою до 65%!
Дізнатися більше
04.03.2025
3 хвилин читання

Ключове слово const для змінних у C++

У мові програмування C++ є спосіб захистити дані від змін за допомогою ключового слова const. Воно дозволяє створювати змінні, які після присвоєння значення залишаються незмінними. Використання const робить код більш зрозумілим і надійним, особливо в ситуаціях, де важливо, щоб певні значення залишалися постійними.

🚀 Ласкаво просимо у світ C++ з нашим курсом C++ Start! 📚 Скажіть “прощавай” надлишковим матеріалам та 💡 “привіт” миттєвому зануренню в програмування!
Дізнатись більше

Що таке const?

Ключове слово const повідомляє компілятору, що значення змінної або об’єкта не можна змінювати після того, як воно було встановлене. Якщо у коді є спроба змінити таку змінну, компілятор видасть помилку. Це допомагає уникнути випадкових змін даних і робить програму більш захищеною.

Застосування ключового слова const для змінних

Оголошення змінних як const

Якщо зміну оголосити з ключовим словом const, її значення стане незмінним після присвоєння. Це корисно, коли потрібно, щоб значення залишалося постійно під час виконання програми.

#include <iostream>

using namespace std;

int main() {

    const int MAX_VALUE = 100;  // Оголошення константи

    cout << "Максимальне значення: " << MAX_VALUE << endl;

    // MAX_VALUE = 200;  // Помилка компіляції: змінна MAX_VALUE не може бути змінена

    return 0;

}

У цьому прикладі, змінна MAX_VALUE є константою, і спроба змінити її значення після ініціалізації призведе до помилки компіляції.

Обмеження використання const

  • Після того, як змінній задано значення, змінити його більше не можна.
  • const змінну потрібно ініціалізувати одразу при створенні.
  • Такі змінні зручно використовувати для збереження значень, які мають залишатися постійними, наприклад, математичні константи або налаштування програми.

Ключове слово const для вказівників

Ключове слово const також може використовуватися для оголошення вказівників, щоб обмежити змінність вказаного значення або самого вказівника.

  • const для вказівника на змінну
int a = 10;

const int* ptr = &a;  // Вказівник на постійне значення

// *ptr = 20;  // Помилка компіляції: значення, на яке вказує ptr, не можна змінити

У цьому випадку ми не можемо змінювати значення, на яке вказує ptr, але сам вказівник може бути змінений, щоб вказувати на іншу змінну.

  • const для самого вказівника
int a = 10;

int b = 20;

int* const ptr = &a;  // Постійний вказівник на змінну

ptr = &b;  // Помилка компіляції: вказівник ptr не може бути змінений

*ptr = 30;  // Операція дозволена: змінити значення, на яке вказує ptr

Тут вказівник ptr не може бути змінений, але можна змінювати значення, на яке він вказує.

  • const для вказівника на константне значення
const int* const ptr = &a;  // Постійний вказівник на постійне значення

// *ptr = 30;  // Помилка компіляції: значення не можна змінити

// ptr = &b;  // Помилка компіляції: сам вказівник не можна змінити

У цьому випадку і сам вказівник, і значення, на яке він вказує, є постійними.

const і функції

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

  • Змінні-параметри функцій
#include <iostream>

using namespace std;

void printValue(const int x) {

    // x = 10;  // Помилка компіляції: параметр x не можна змінювати

    cout << "Значення: " << x << endl;

}

int main() {

    int a = 5;

    printValue(a);  // Виведе "Значення: 5"

    return 0;

}

У цьому прикладі параметр x позначений як const, що означає, що значення цього параметра не можна змінювати в середині функції.

  • Повернення значень з функцій
const int* getValue() {

    static int value = 10;

    return &value;  // Повертаємо адресу константного значення

}

int main() {

    const int* ptr = getValue();

    // *ptr = 20;  // Помилка компіляції: значення не можна змінити

    cout << "Значення: " << *ptr << endl;  // Виведе "Значення: 10"

    return 0;

}

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

Підпишіться на наш Ютуб-канал! Корисні відео для програмістів чекають на вас! YouTube
Оберіть свій курс програмування! Шлях до кар’єри програміста починається тут! Подивитись

Приклад використання const

#include <iostream>

using namespace std;

int main() {

    const double PI = 3.14159;  // Оголошення константи PI

    cout << "Число PI: " << PI << endl;

    // PI = 3.14;  // Помилка: змінна PI не може бути змінена

    return 0;

}

У цьому прикладі ми оголошуємо математичну константу PI як const, що гарантує її незмінність протягом виконання програми.

Висновок

Ключове слово const у C++ є потужним інструментом для забезпечення незмінності змінних та об’єктів. Воно дозволяє підвищити надійність програми, оскільки зменшує ризик випадкових змін важливих значень. Крім того, використання const допомагає зробити код зрозумілішим і більш передбачуваним. Застосування цього ключового слова в контексті змінних, вказівників і функцій дозволяє програмістам більш ефективно контролювати поведінку програм і уникати помилок, пов’язаних із змінністю даних.

FAQ
Що таке const у C++?

Це ключове слово, яке робить змінну або об'єкт незмінним після ініціалізації, запобігаючи випадковій зміні даних.

Чому важливо використовувати const?

Використання const підвищує безпеку коду, покращує його читабельність і допомагає компілятору оптимізувати виконання програми.

Як const використовується із вказівниками?

Const можна застосовувати до значення, на яке вказує вказівник, або до самого вказівника, що обмежує можливість його зміни.

Як const використовується у функціях?

Const можна застосовувати до параметрів, щоб запобігти їх зміні, а також до методів класів, щоб гарантувати їхню безпечність для об'єкта.

Чи можна використовувати const із посиланнями?

Так, const-посилання дозволяє передавати змінні без копіювання та захищає їх від модифікації.

Як const допомагає в оптимізації коду?

Оскільки const-змінні незмінні, компілятор може застосовувати оптимізації, такі як зберігання значень у пам’яті лише один раз.

Хочете дізнатися більше про ключове слово const для змінних у C++? Задайте своє питання або поділіться коментарем нижче! 🤔👇

Додати коментар

Ваш імейл не буде опубліковано. Обов'язкові поля відзначені *

Зберегти моє ім'я, імейл та адресу сайту у цьому браузері для майбутніх коментарів