×
Traktatov.net » Язык программирования C++. Пятое издание » Читать онлайн
Страница 27 из 714 Настройки

Первым шагом по овладению языком С++ является изучение его основ и библиотеки — такова тема части I, "Основы". В главе 2 рассматриваются встроенные типы данных, а также обсуждается механизм определения новых, собственных типов. В главе 3 описаны два фундаментальных библиотечных типа: >string (строка) и >vector (вектор). В этой же главе рассматриваются массивы, представляющие собой низкоуровневую структуру данных, встроенную в язык С++, и множество других языков. Главы 4-6 посвящены выражениям, операторам и функциям. Завершается часть главой 7 демонстрирующей основы построения собственных типов классов. Как мы увидим, в определении собственных типов примиряется все, что мы изучили до сих пор, поскольку написание класса подразумевает использование всех средств, частично раскрытых в части I.

Глава 2

Переменные и базовые типы

Типы данных — это основа любой программы: они указывают, что именно означают эти данные и какие операции с ними можно выполнять.

У языка С++ обширная поддержка таких типов. В нем определено несколько базовых типов: символы, целые числа, числа с плавающей запятой и т.д. Язык предоставляет также механизмы, позволяющие программисту определять собственные типы данных. В библиотеке эти механизмы использованы для определения более сложных типов, таких как символьные строки переменной длины, векторы и т.д. В этой главе рассматриваются встроенные типы данных и основы применения более сложных типов.

Тип определяет назначение данных и операции, которые с ними можно выполнять. Например, назначение простого оператора >i = i + j; полностью зависит от типов переменных >i и >j. Если это целые числа, данный оператор представляет собой обычное арифметическое сложение. Но если это объекты класса >Sales_item, то данный оператор суммирует их компоненты (см раздел 1.5.1).

2.1. Простые встроенные типы

В языке С++ определен набор базовых типов, включая арифметические типы (arithmetic type), и специальный тип >void. Арифметические типы представляют символы, целые числа, логические значения и числа с плавающей запятой. С типом >void не связано значений, и применяется он только при некоторых обстоятельствах, чаще всего как тип возвращаемого значения функций, которые не возвращают ничего.

2.1.1. Арифметические типы

Есть две разновидности арифметических типов: целочисленные типы (включая символьные и логические типы) и типы с плавающей запятой.

Размер (т.е. количество битов) арифметических типов зависит от конкретного компьютера. Стандарт гарантирует минимальные размеры, перечисленные в табл. 2.1. Однако компиляторы позволяют использовать для этих типов большие размеры. Поскольку количество битов не постоянно, значение одного типа также может занимать в памяти больше или меньше места.


Таблица 2.1. Арифметические типы языка С++

ТипЗначениеМинимальный размер
>boolЛогический типНе определен
>charСимвол8 битов
>wchar_tШирокий символ16 битов
>char16_tСимвол Unicode16 битов
>char32_tСимвол Unicode32 бита
>shortКороткое целое число16 битов
>intЦелое число16 битов
>longДлинное целое число32 бита
>long long