Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Властивості класів,,,.docx
Скачиваний:
5
Добавлен:
26.10.2018
Размер:
252.91 Кб
Скачать

3.6.1.5 Швидкий виклик функцій

При оголошенні функцій, параметри яких передаються через процесорні регістри, використовується модифікатор _fastcall:

<повертаний тип> _fastcall <name>(<список параметрів>)

Це ключове слово визначає, що перші три параметри функції, що типізуються, з ім'ям name (зліва направо за списком) передаються не через стек, а через процесорні регістри AX, BX і DX. Регістри не використовуються, якщо значення параметра не уміщається в регістр, тобто при передачі через параметр чисел з плаваючою крапкою, структур і функцій.

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

3.6.1.6 Розширені типи даних Delphi

C++Builder не дозволяє за допомогою відомого ключового слова typedef просто перевизначити деякі складні типи даних Об'єктного Паскаля. C++Builder реалізує такі розширені типи у вигляді звичайних або шаблонних класів (template class). Кожен такий клас містить всі необхідні конструктори, деструкції, властивості і об'єктні методи. Багато компонентів VCL використовують реалізацію розширених типів, а крім того, вони потрібні при розробці нових компонент на базі оригіналів з Delphi.

Нижче приводиться звідна таблиця вбудованих типів Delphi і відповідних ним типів C++Builder:

Delphi

Довжина і значення

C++builder

Реалізація

Shortint

8-бітове ціле

char

typedef

Smallint

16-бітове ціле

short

typedef

Longint

32-бітове ціле

long

typedef

Byte

8-бітове ціле без знаку

unsigned char

typedef

Word

16-бітове ціле без знаку

unsigned short

typedef

Integer

32-бітове ціле

int

typedef

Cardinal

32-бітове ціле без знаку

unsigned long

typedef

Boolean

true/false

bool

typedef

Bytebool

true/false або 8-бітове ціле без знаку

unsigned char

typedef

Wordbool

true/false або

16-бітове ціле без знаку

unsigned short

typedef

Longbool

true/false або

32-бітове ціле без знаку

unsigned long

typedef

Ansichar

8-бітовий символ без знаку

<="" p="">

Джерело: articles.org.ru

 Версія для друку | 0 Коментарі |  Переглядів: 446 |  Оцініть цю статтю 

Читайте також:

 Totally XMLed Forms

 Колекція фрагментів коди з реально працюючих програм на C++ Builder