Тип bool является относительно новым добавлением в С++. Он хранит булевы значения, т.е. истина или ложь. В С++ определены две булевы константы, true (истина) и false (ложь), которые только и можно использовать с переменными этого типа.
Одной из фундаментальных концепций С++ является интерпретация любого ненулевого значения как true, а нулевого - как false. Эта концепция полностью совместима с типом bool, потому что при использовании в булевом выражении С++ автоматически преобразует любое ненулевое значение в true, а нулевое — в false. Справедливо также и обратное: при использовании в небулевом выражении true преобразуется в 1, a false — в 0.
Тип void описывает выражение, не имеющее значения.
Как вы уже знаете, переменные объявляются с помощью предложения такого вида:
тип имя переменной;
Здесь тип — это тип данного, соответствующий объявляемой переменной, а имя-переменной — ее имя. Вы можете объявить переменную любого допустимого типа. Создавая переменную, вы создаете тем самым экземпляр ее типа. Таким образом, свойства переменной определяются ее типом. Например, переменная типа bool содержит булевы значения; ее нельзя использовать для хранения значений с плавающей точкой. При этом недопустимо изменять тип переменной в течение времени ее существования. Так, из переменной типа int нельзя сделать переменную типа double.
Переменной можно присвоить значение одновременно с ее объявлением. Для этого укажите после имени переменной знак равенства, а зa ним - присваиваемое переменной значение. Такое предложение носит название инициализации переменной. Общая форма предложения инициализации выглядит так:
тип переменная = значение';
Здесь значение — это значение, присваиваемое переменной одновременно с ее созданием.
Приведем несколько примеров:
int rount = 10; // присвоим count начальное значение 10
char ch = 'X' ; // инициализируем ch кодом буквы X
float f = 1.2F; / / f инициализируется значением 1.2
При объявлении двух или нескольких переменных одного типа в форме списка с разделяющими запятыми, вы можете присвоить одной или нескольким переменным начальные значения. Например,
int a, b = 8, c = 19, d; // b и c получают начальные значения
В этом примере инициализируются только переменные b и с.
Хотя в предыдущих примерах для инициализации переменных использовались только константы, С++ позволяет инициализировать переменные динамически, с помощью любых выражений, образующих определенные значения в то время, когда объявляется инициализируемая переменная. Ниже приведена короткая программа, вычисляющая объем цилиндра при заданных значениях радиуса его основания и высоты:
В приведенной программе объявляются три локальные переменные - radius, height и volume. Первые две, radius и height, инициализируются константами. Однако переменная volume инициализируете динамически; ей присваивается значение объема цилиндра. Здесь важно отметить, что инициализирующее выражение может использовать любые элементы, принимающие определенные значения к моменту инициализации, включая вызовы функций, другие переменные и литералы.