布爾類型對象可以被賦予文字值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。