第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于C++ 中的bool 和 BOOL,他們有什么區(qū)別呢!

關于C++ 中的bool 和 BOOL,他們有什么區(qū)別呢!

SMILET 2021-10-06 20:07:39
為了以后人能搜索到.!`BOOL其實是一個 int類型`而bool 才是false 和 true
查看完整描述

2 回答

?
瀟湘沐

TA貢獻1816條經(jīng)驗 獲得超6個贊

這是兩個風馬牛不相及的變量類型關鍵字,只是因為拼法相同,僅區(qū)別于大小寫,題目才把它們拼湊在了一起。它們區(qū)別大了:

  1. 類型不同:bool是C++定義的布爾類型,BOOL是微軟定義的int類型(就是int的別名);

  2. 取值不同:bool的取值只有0(false)、1(true)兩個,而BOOL的取值是int范圍;

  3. 長度不同:bool是單字節(jié)(8位二進制)類型,BOOL與int長度相同。

下面就2作進一步說明:有一種說法認為bool是兩值類型——這沒錯,它的取值只有0和1,而BOOL是三值邏輯(取FALSE(0)、TRUE(>0)和ERROR(-1))——這錯誤的,它的取值與int完全吻合,因為它是用typedef int BOOL;定義的int的別名。下面的代碼能驗證以上表述:


//#include "stdafx.h"//If the vc++6.0, with this line.#include <iostream>#include "windows.h"using namespace std;int main(void){    bool x=(bool)8;//必須強制,因類型不匹配    BOOL y=47819,z=-78;//無需強制,它就是int    cout << "bool: x = " << x << endl;//輸出是1而非8,因bool型只取0和1    cout << "BOOL: y = " << y << "  z = " << z << endl;//賦什么值就輸出什么    return 0;}


BOOL類型常常用作windows的API函數(shù)的返回值,這些函數(shù)大都返回TRUE(>0)/FALSE(0)/ERROR(-1),但這不是BOOL類型就是三值邏輯的理由,就像strcmp函數(shù)返回int類型的-1、0和1三個值,總不能說int是三值邏輯吧!windows的API使用BOOL完全是體現(xiàn)一種代碼風格和拉高閱讀性能。


查看完整回答
反對 回復 2021-10-10
?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

c++ 定義 bool ,其值 為 false 或 true。實際上也是整型。
windows.h 定義 了 BOOL 型變量類型。其值 為 TRUE, FALSE. 實際上也是整型
實質上一樣,一套是小寫,另一套是大寫。

取值 0 為假,非0 (1,2,3,4, -1,-2,。。。)都為 真。
---------------------------------------
C 程序:
#define __BOOL_DEFINED
#include <stdio.h>
#include <windows.h>
bool 和 BOOL 就全都支持了



查看完整回答
反對 回復 2021-10-10
  • 2 回答
  • 0 關注
  • 447 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號