C++中布爾類型(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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章