Константи

В С++ введена концепція визначаються користувачем констант для вказівки на те, що значення не можна змінити безпосередньо. Це може бути корисно в декількох відносинах. Наприклад, багато об'єкти не змінюються після ініціалізації; використання символічних констант призводить до більш зручним у супроводі коду, ніж застосування літералів безпосередньо в тексті програми; покажчики часто використовуються тільки для читання, але не для запису; більшість параметрів функцій читаються, але не перезаписуються.

Для того, щоб оголосити об'єкт константою, в оголошення потрібно додати ключове слово const. Так як константі не можна присвоювати значення, вона повинна бути ініціалізувати.

const int a = 100; // a є константою

const int b[] = {1, 2, 3, 4, 5}; // Всі b[i] є константами

const int c; // Помилка – відсутній ініціалізатор

Типовим є використання констант як розміру масивів і ярликів в інструкції case. Відзначимо, що const модифікує тип, тобто обмежує можливе використання об'єкта, але не вказує спосіб розміщення константного об'єкту. Простим і типовим використанням константи є той випадок, коли значення константи відомо під час компіляції і під неї не потрібно виділення пам'яті. Для масиву констант, як правило, вимагається виділення пам'яті, так як, у загальному випадку, компілятор не в змозі визначити, до якого елементу масиву відбувається звернення до вираженні.

Оголошення typedef

Оголошення, що починається з ключового слова typedef, вводить нову назву для типу, не для змінної цього типу. Метою такого оголошення є призначення короткого синоніма для часто використовуваного типу. Наприклад, при частому застосуванні unsigned char можна ввести синонім uchar. typedef unsigned char uchar; // Тепер uchar – синонім для unsigned char Імена, що вводяться за допомогою typedef, є синонімами, а не новими типами. Отже, старі типи можна використовувати разом з їх синонімами.

Якщо потрібні різні типи з однаковою семантикою або з однаковим уявленням, потрібно використовувати перерахування або класи.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: