19819

Вказівник this. Вбудовані функції (специфікатор inline)

Доклад

Информатика, кибернетика и программирование

Вказівник this Ім'я this є службовим ключовим словом. Явно описати чи визначити вказівник this не можна. Відповідно до неявного визначення this є константним вказівником тобто змінювати його не можна однак у кожної приналежної класу функції він указує саме на той об'єкт для я...

Украинкский

2013-07-17

14.59 KB

1 чел.

Вказівник this 

Ім'я this є службовим (ключовим) словом. Явно описати чи визначити вказівник this не можна. Відповідно до неявного визначення this є константним вказівником, тобто змінювати його не можна, однак у кожної приналежної класу функції він указує саме на той об'єкт, для якого функція викликається. Говорять, що вказівник this є додатковим (схованим) параметром кожної нестатичної компонентної функції. Іншими словами, при вході в тіло приналежній класу функції вказівник this ініціалізується значенням адреси того об'єкта, для якого викликана функція. Об'єкт, що адресується вказівником this, стає доступним усередині приналежної класу функції саме за допомогою вказівника this. При роботі з компонентами класу усередині приналежної класу функції можна було б скрізь використовувати цей вказівник. Наприклад, зовсім правильним буде таке визначення класу: struct ss{ int si; char sc; ss(int in, char en) // Конструктор об'єктів класу. { this->si = in; this->sc = en; } void print(void) // Функція висновку відомостей про об'єкт. { cout << "\n si = " << this->si; cout << "\n sc = " << this->se; }};

Специфікатор inline є лише підказкою компілятору, не впливає на зміст програми і може бути проігноровано. Він використовується, щоб вказати на те, що при виконанні функції inline-підстановка тіла функції краще звичайної реалізації виклику функції. Функція (# 8.5.2 і # 8.5.10), визначена всередині опису класу, є inline за замовчуванням.