Бьерн Страуструп - Язык программирования С++. Главы 2-4 - Типы

ОГЛАВЛЕНИЕ


2.3  ТИПЫ

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