Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / C / C++ / Введение в язык C++ / Турне по C++ /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Типы и Описания - Программирование от RIN.RU
Типы и Описания


Каждое имя и каждое выражение имеет тип, определяющий операции, которые могут над ними производиться. Например, описание


int inch;


определяет, что inch имеет тип int, то есть, inch является целой переменной.


Описание - это оператор, который вводит имя в программе. Описание задает тип этого имени. Тип определяет правильное использование имени или выражения. Для целых определены такие операции, как +, -, * и /. После того, как включен файл stream.h, объект типа int может также быть вторым операндом <<, когда первый операнд ostream.


Тип объекта определяет не только то, какие операции могут к нему применяться, но и смысл этих операций. Например, оператор


cout << inch << " in = " << inch*2.54 << " cm\n";


правильно обрабатывает четыре входных значения различным образом. Строки печатаются буквально, тогда как целое inch и значение с плавающей точкой inch*2.54 преобразуются из их внутреннего представления в подходящее для человеческого глаза символьное представление.


В C++ есть несколько основных типов и несколько способов создавать новые. Простейшие виды типов C++ описываются в следующих разделах, а более интересные оставлены на потом.


Основные Tипы


Основные типы, наиболее непосредственно отвечающие средствам аппаратного обеспечения, такие:
charshortintlongfloatdouble

Первые четыре типа используются для представления целых, последние два - для представления чисел с плавающей точкой. Переменная типа char имеет размер, естественный для хранения символа на данной машине (обычно, байт), а переменная типа int имеет размер, соответствующий целой арифметике на данной машине (обычно, слово). Диапазон целых чисел, которые могут быть представлены типом, зависит от его размера. В C++ размеры измеряются в единицах размера данных типа char, поэтому char по определению имеет размер единица. Соотношение между основными типами можно записать так:


1 = sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)
sizeof(float) <= sizeof(double)


В целом, предполагать что-либо еще относительно основных типов неразумно. В частности, то, что целое достаточно для хранения указателя, верно не для всех машин.


К основному типу можно применять прилагательное const. Это дает тип, имеющий те же свойства, что и исходный тип, за исключением того, что значение переменных типа const не может изменяться после инициализации.


const float pi = 3.14;
const char plus = "+";


Символ, заключенный в одинарные кавычки, является символьной константой. Заметьте, что часто константа, определенная таким образом, не занимает память; просто там, где требуется, ее значение может использоваться непосредственно. Константа должна инициализироваться при описании. Для переменных инициализация необязательна, но настоятельно рекомендуется. Оснований для введения локальной переменной без ее инициализации очень немного.


К любой комбинации этих типов могут применяться арифметические операции:


+ плюс, унарный и бинарный
- минус, унарный и бинарный
* умножениe
/ деление



А также операции сравнения:


== равно
!= не равно
< меньше
> больше
<= меньше или равно
>= больше или равно



Заметьте, что целое деление дает целый результат: 7/2 есть 3. Над целыми может выполняться операция % получения остатка: 7%2 равно 1.


При присваивании и арифметических операциях C++ выполняет все осмысленные преобразования между основными типами, чтобы их можно было сочетать без ограничений:


double d = 1;
int i = 1;
d = d + i;
i = d + i;


Производные Типы


Вот операции, создающие из основных типов новые типы:


* указатель на
*const константный указатель на
& ссылка на
[] вектор*2
() функция, возвращающая



Например:


char* p // указатель на символ
char *const q // константный указатель на символ
char v[10] // вектор из 10 символов


Все вектора в качестве нижней границы индекса имеют ноль, поэтому в v десять элементов: v[0] ... v[9]. Функции объясняются в этом пункте. Переменная указатель может содержать адрес объекта соответствующего типа:


char c;
// ...
p = &c; // p указывает на c


Унарное & является операцией взятия адреса.



 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Комментарии

Выражения и Операторы

Функции

Структура программы

Классы

Перегрузка операций

Конструкторы

Вектора

Inline-подстановка

Производные классы

Еще об операциях

Друзья (friends)

Обобщенные Вектора

Полиморфные Вектора

Виртуальные функции

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь