home | login | register | DMCA | contacts | help |      
mobile | donate | ВЕСЕЛКА

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


my bookshelf | genres | recommend | rating of books | rating of authors | reviews | new | форум | collections | читалки | авторам | add
fantasy
space fantasy
fantasy is horrors
heroic
prose
  military
  child
  russian
detective
  action
  child
  ironical
  historical
  political
western
adventure
adventure (child)
child's stories
love
religion
antique
Scientific literature
biography
business
home pets
animals
art
history
computers
linguistics
mathematics
religion
home_garden
sport
technique
publicism
philosophy
chemistry
close

реклама - advertisement



Элементарные типы данных

Предлагаемые в С++ элементарные типы данных аналогичны тем, которые используются в Java или C#. На рис. Б.2 приводятся список элементарных типов С++ и их определение на платформах, поддерживаемых Qt 4:

• bool — булево значение,

• char — 8-битовый целый тип,

• short — 16-битовый целый тип,

• int — 32-битовый целый тип,

• long — 32- или 64-битовый целый тип,

• long long[9]64-битовый целый тип,

• float — 32-битовое значение числа с плавающей точкой (IEEE 754),

• double — 64 битовое значение числа с плавающей точкой (IEEE 754).

По умолчанию short, int, long и long long — типы данных со знаком, т.е. они могут содержать как отрицательные, так и положительные значения. Если необходимо хранить только неотрицательные целые числа, мы можем поставить ключевое слово unsigned (без знака) перед типом. Если тип short может хранить любое значение в промежутке между —32,768 и +32,767, то unsigned short — от 0 до 65 535. Оператор сдвига вправо >> имеет семантику чисел без знака («заполнить нулями»), если один из операндов является типом без знака.

Тип bool может принимать значения true и false. Кроме того, числовые типы могут использоваться вместо типа bool; в этом случае 0 соответствует значению false, а любое ненулевое значение означает true.

Тип char используется для хранения как символов ASCII, так и 8-битовых целых чисел (байтов). Целое число, представленное этим типом, в зависимости от платформы может иметь или не иметь знак. Типы signed char и unsigned char могут использоваться для однозначной интерпретации типа char. Qt предоставляет тип QChar, который хранит 16-битовые символы в кодировке Unicode.

По умолчанию экземпляры встроенных типов не инициализируются. Когда создается переменная типа int, ее значение вполне могло бы быть нулевым, однако с той же вероятностью оно может равняться —209 486 515. К счастью, большинство компиляторов предупреждает нас о попытках чтения неинициализированной переменной, и мы можем использовать такие инструментальные средства, как Rational PurifyPlus и Valgrind, для обнаружения обращений к неинициализированной памяти и других связанных с памятью проблем на этапе выполнения.

В памяти числовые типы (кроме long) имеют идентичные размеры на различных платформах, поддерживаемых Qt, но их представление меняется в зависимости от принятого в системе порядка байтов. В архитектурах с прямым порядком байтов (например, PowerPC и SPARC) 32-битовое значение 0x12345678 последовательно занимают четыре байта 0х12 0x34 0x56 0х78, в то время как в архитектурах с обратным порядком байтов (например, Intel x86) последовательность байтов будет обратной. Это следует учитывать в программах, копирующих области памяти на диск или посылающих двоичные данные по сети. Класс Qt QDataStream, представленный в главе 12 («Ввод—вывод»), можно использовать для хранения двоичных данных независимым от платформы способом.


Основные отличия языков | QT 4: программирование GUI на С++ | Определения класса