Простые типы данных
Метаданные
Перевод с английского, оригинальная статья находится здесь.
- TIntX и TUintX (где X = 8, 16 и 32) используются для представления 8-, 16- и 32-битных знаковых и беззнаковых целых чисел. Если Вы точно не уверенны в размерности (это важно, например при оптимизации или для достижения совместимости), вы должны использовать TInt и TUint (без указания размерности) которые соответствуют знаковым и беззнаковым 32-битным целым.
- TInt64. В версиях Symbian до 8.0 не было ARM-типа для поддержки 64-битной арифметики, поэтому класс TInt64 хранил 64-разрядное целое как два 32-разрядных значения. В версии Symbian начиная с 8.0 TInt64 и TUint64 объявлены с помощью оператора typedef (typedefed long long) и используют появившуюся поддержку 64-разрядных вычислений.
- TReal32 и TReal64 ( и TReal который соответствует TReal64 ) используются для вычислений с плавающей точкой одинарной и двойной точности. Соответствуют типам float и double. Операции над такими числами обычно медленнее, чем над целыми, поэтому вы должны использовать их только тогда, когда точно уверены что это необходимо.
- TTextX (X = 8 или 16) используются для представления 8- и 16-битных символов - соответствуют беззнаковым 8- и 16-разрядным целым.
- TAny* - нетипизированный указатель, должен использоваться вместо void*. Однако, если void означает "ничего" - то использовать TAny не нужно. Соответственно, функция, которая в качестве параметра принимает указатель void* и ничего не возвращает должна объявляться как "void TypicalFunction(TAny* aPointerParameter)". Это единственное исключение из правила, которое предполагает замену всех стандартных типов на типы Symbian OS. Сделано это потому, что void одинаково правильно "понимается" всеми компиляторами.
- TBool - логический тип данных. По историческим причинам эквивалентен обычному int. Принимает значения EFalse (=0) и ETrue (=1). Имейте в виду, C++ интерпретирует любое ненулевое значение как true. Следовательно, непосредственное сравнение с true является излишним. Переменная типа TBool занимает 32 бита - множественное использование может привести к неэффективному расходованию памяти, например в классах, которые содержат большое число логических флагов, под каждый из которых используется своя переменная типа TBool.


(no comments yet)