Использование целых переменных в качестве логических...58

We use cookies. Read the Privacy and Cookie Policy

С++ не всегда имел тип bool. Ранее для хранения логических значений в С++ использовался тип int. Значение 0 рассматривалось как false, а все остальные — как true. Все логические операторы генерировали целочисленные значения 0 и 1, соответствующие значениям false и true.

В С++ осталась высокая степень совместимости типов bool и int, обеспечивающая поддержку старых программ. Например, если в только что рассмотренной программе удалить инструкцию cout.setf( cout.boolalpha ) ;, вывод программы будет следующим:

 

    Использование переменной типа bool

    Введите значение 1: 5

    Введите значение 2: 5

    Значение 5 == 5 равно 1

    Press any key to continue...

Переменные типов bool и int могут вместе использоваться в выражениях языка. Например, следующий код совершенно корректен:

    int n1 = 1 ;

    int n2 = 2 ;

    int n ;

    n = ( n1 == n2 ) ;

Тем не менее в своих программах желательно использовать для хранения логических значений переменные специально предназначенного для этого типа bool.