Соотношение между основными типами можно представить так:
1 = sizeof(char) <= sizeof(short) <=«sizeof(int)»
<=«sizeof(long)» sizeof(float) <=«sizeof(double)»
В итоге предполагать что-то еще относительно основных типов неразумно. Например, то, что целое достаточно для хранения указателя, справедливо не для всех
машин. В основном типе можно использовать прилагательное const. Это дает тип, который имеет те же свой-
ства, что и первоначальный тип, за исключением того,
что значение переменных типа const не может меняться
после инициализации.
const float pi = 3.14;
const char plus = ‘+’;
Символ, который заключен в одинарные кавычки,
является символьной константой. Часто константа,
которая определяется таким образом, не занимает
память. Там, где необходимо, ее значение может использоваться непосредственно. Константе следует
инициализироваться при описании. Для переменных
инициализация не всегда обязательна, но очень рекомендуется. Оснований для применения локальной пе-
ременной без ее инициализации очень немного.
К каждой комбинации данных типов могут применяться арифметические операции: + (плюс, унарный и бинарный), – (минус, унарный и бинарный), *
(умножение), - (деление).
Кроме этого применяются операции сравнения: =
(равно), != (не равно), < (меньше), > (больше), <= (меньше или равно), >= (больше или равно).
При присваивании и арифметических операциях
C++ осуществляет все осмысленные изменения между основными типами, чтобы их можно было сочетать
без ограничений:
double d = 1;
int i = 1;
d = d + i;
i = d + i;
Рассмотрим операции, которые создают из основных типов новые типы: * (указатель на), *const (константный указатель на), & (ссылка на), [] (вектор), ()
(функция, возвращающая).
У всех векторов нижней границей индекса является
ноль, поэтому в v десять элементов: v[0] ... v[9].
В предметном указателе могут быть адреса объекта соответствующего типа:
char c;
-- ...
p = &c -- p указывает на c
Унарное & — операция взятия адреса.