Специфіка C++/CLI: фундаментальні типи даних

Фундаментальні типи ISO/ANSI C++ можна використати у своїх програмах C++/CLI, і з арифметичними операціями вони працюють точно так само, як й у рідному C++. Крім того, в C++/CLI визначені два додаткових целочисленных типи займають по 8 байт. Діапазони їхніх значень наступні:

 

long long від -9 223 372 036 854 775 808 до

9 223 372 036 854 775 807

unsigned long long від 0 до 18 446 744 073 709 551 615

 

Щоб специфицировать литералы типу long long, необхідно додавати LL або ll до цілого значення. Наприклад:

long long big = 123456789LL;

Литерал типу unsigned long long указується додаванням ULL або ull до цілого значення:

unsigned long long huge = 999999999999999ULL;

 

Хоча всі операції з фундаментальними типами, що ви бачили раніше, працюють аналогічним образом з C++/CLI, імена фундаментальних типів у програмах C++/ CLI мають інший зміст і надають додаткові можливості в деяких ситуаціях. Фундаментальний тип у програмі C++/CLI - це клас типу значення, і може поводитися як звичайне значення або як об'єкт, якщо обставини того вимагають.

Усередині мови C++/CLI кожен фундаментальний тип ISO/ANSI відображається на клас типу значення, певний у просторі імен System. To є в програмі на C++/CLI імена фундаментальних Типів є скороченнями для асоційованих з ними класових типів. Це дозволяє трактувати значення фундаментального типу як прості значення або, при необхідності, як автоматично перетворений об'єкт асоційованого типу класу. Фундаментальні типи, обсяг займаної ними пам'яті й відповідні їм типи класів показані в табл.1