Бьерн Страуструп - Язык программирования С++. Главы 2-4 - Типы
ОГЛАВЛЕНИЕ
Страница 8 из 69
2.3 ТИПЫ
С каждым именем (идентификатором) в программе связан тип. Он задает те операции, которые могут применяться к имени (т.е. к объекту, который обозначает имя), а также интерпретацию этих операций. Приведем примеры:int error_number;Поскольку переменная error_number описана как int (целое), ей можно присваивать, а также можно использовать ее значения в арифметических выражениях. Функцию real можно вызывать с параметром, содержащим адрес complex. Можно получать адреса и переменной, и функции. Некоторые имена, как в нашем примере int и complex, являются именами типов. Обычно имя типа нужно, чтобы задать в описании типа некоторое другое имя. Кроме того, имя типа может использоваться в качестве операнда в операциях sizeof (с ее помощью определяют размер памяти, необходимый для объектов этого типа) и new (с ее помощью можно разместить в свободной памяти объект этого типа). Например:
float real(complex* p);
int main()Еще имя типа может использоваться в операции явного преобразования одного типа к другому ($$3.2.5), например:
{
int* p = new int;
cout << "sizeof(int) = " << sizeof(int) '\n';
}
float f;
char* p;
//...
long ll = long(p); // преобразует p в long
int i = int(f); // преобразует f в int