C++中布爾類型

        布爾類型對象可以被賦予文字值true或者false,所對應的關係就是真與假的概念。

  我們通常使用的方法是利用他來判斷條件的真與假,例如下面的代碼:

#include <iostream
using namespace std; 
 
void main(void

    bool found = true
    if (found) 
    { 
        cout << "found條件爲真!" << endl; 
    } 
 
}

        但是一些概念不清的人卻不知道布爾類型的對象也可以被看做是一種整數類型的對象,但是它不能被聲明成signed,unsigned,short long,如果你生成(short bool found=false;),那麼將會導致編譯錯誤。

  其爲整數類型的概念是這樣的:

  當表達式需要一個算術值的時候,布爾類型對象將被隱式的轉換成int類型也就是整形對象, false就是0,true就是1,請看下面的代碼!

#include <iostream
#include <string
using namespace std; 
 
void main(void

bool found = true
int a = 1; 
cout << a + found << endl; 
cin.get(); 
}

  a+found 這樣的表達式是成立的,輸出後的值爲2進行了加法運算!

  那麼說到這裏很多人會問指針也可以嗎?回答是肯定的這樣一個概念對於指針同樣也是有效的,下面我們來看一個將整形指針對象當作布爾對象進行使用的例子:

#include <iostream
using namespace std; 
 
void main(void

    int a = 1; 
    int *pi; 
    pi=&a; 
 
    if (*pi) 
    { 
        cout << "*pi爲真" << endl; 
    } 
    cin.get(); 
}

  上面代碼中的*pi進行了隱式樣的布爾類型轉換表示爲了真也就是true。

發佈了39 篇原創文章 · 獲贊 9 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章