русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Посилання


Дата додавання: 2014-11-28; переглядів: 833.


 

Посилання (reference), на відміну від покажчика, завжди є типізованим, бо воно посилається на певний об’єкт. Воно може бути іменованим або неіменованим (не явним). Для створення іменованого посилання необхідно записати відповідне оголошення. Формат такого оголошення має вигляд:

тип & ім'я = Lvalue;

Тут ім'я - іменоване посилання, що оголошується, Lvalue - вираз виду Lvalue. Приклад оголошення посилання R на змінну A типу float:

float A;

float& R=A;

Іменоване посилання являє собою ім'я (можливо додаткове) деякого об'єкта. Не іменовані посилання застосовуються для тимчасового посилання на об’єкт. Приклад використання не іменованого посилання:

float* p = new float[100];

*(p+2) = a+b+c;

Ліворуч в останньому рядку записане неявне посилання на третій елемент динамічного масиву, адреса масиву надається покажчиком p .

При використанні посилань необхідно враховувати наступні правила.

1. Оголошення змінної-посилання повинне включати її ініціалізацію, крім випадків, коли вона є параметром функції або описана як extern або є компонентом класу.

2. Значення посилання після ініціалізації не може бути змінено.

3. Посилання завжди має певний тип.

4. Посилання на покажчик об’являти можна, але покажчик на посилання - ні. Наприклад, запис

double*& a = p;

є припустимим, якщо покажчик p має тип double*. А такий запис:

double&* x;

є помилковий.

5. Не можна створювати масив посилань.

6. Посилання не є об'єктом, воно не займає місце у пам'яті.

Основні області застосування посилань:

- параметри функцій;

- значення, що повертає функція;

- робота з динамічними об'єктами.

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

 

 

Вправи

 

Вправа 1

Маємо такий фрагмент програми:


<== попередня лекція | наступна лекція ==>
Write of address 0x0 | Void main()


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн