C语言中BOOL和C++的bool有何本质区别?

2026-04-12 03:351阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计355个文字,预计阅读时间需要2分钟。

C语言中BOOL和C++的bool有何本质区别?

简单改写如下:

C++中BOOL与bool的区别、内容、类型不同,bool为布尔型,是标准C++基本数据类型,占一个字节,取值false和true。例如:bool flag1=-100; // 将被转换为true,非零正负值都转为true。

简述

c++中BOOL和bool的区别

内容

类型不同

  • bool为布尔型,bool是标准C++基本数据类型,单独占一个字节,取值false和true。

bool flag1=-100;//将被转换为true,非零正负值都转换为true。

bool flag2 = 0; //将被转换为false

int val1= true;//将被转换为1

int val2=false;//将被转换为0

任何非零值转换为true,零转换为false:

C语言中没有bool类型。

C语言中BOOL和C++的bool有何本质区别?

  • BOOL为int型,BOOL是微软在VC++中定义的“typedef int BOOL”。

BOOL值可能即不等于FALSE,也不等于TRUE。例如:BOOL val = 2;

所以BOOL类型判断真假,只与FALSE比较。

与bool不同,它是一个三值逻辑。TRUE/FALSE/ERROR,

返回值为1为TRUE,0为FALSE,ERROR(ERROR具体值要看宏定义,通常为-1)。

  • 使用建议:

如果是写标准的C++,那么就全用bool;

如果是写vc++,就尽量使用BOOL,避免转换产生的性能警告。

gbf:写vc++也尽量使用bool,使用BOOL做真假判断容易出错。如果要用BOOL做返回值,则使用int或BYTE代替。

标签:区别简述C

本文共计355个文字,预计阅读时间需要2分钟。

C语言中BOOL和C++的bool有何本质区别?

简单改写如下:

C++中BOOL与bool的区别、内容、类型不同,bool为布尔型,是标准C++基本数据类型,占一个字节,取值false和true。例如:bool flag1=-100; // 将被转换为true,非零正负值都转为true。

简述

c++中BOOL和bool的区别

内容

类型不同

  • bool为布尔型,bool是标准C++基本数据类型,单独占一个字节,取值false和true。

bool flag1=-100;//将被转换为true,非零正负值都转换为true。

bool flag2 = 0; //将被转换为false

int val1= true;//将被转换为1

int val2=false;//将被转换为0

任何非零值转换为true,零转换为false:

C语言中没有bool类型。

C语言中BOOL和C++的bool有何本质区别?

  • BOOL为int型,BOOL是微软在VC++中定义的“typedef int BOOL”。

BOOL值可能即不等于FALSE,也不等于TRUE。例如:BOOL val = 2;

所以BOOL类型判断真假,只与FALSE比较。

与bool不同,它是一个三值逻辑。TRUE/FALSE/ERROR,

返回值为1为TRUE,0为FALSE,ERROR(ERROR具体值要看宏定义,通常为-1)。

  • 使用建议:

如果是写标准的C++,那么就全用bool;

如果是写vc++,就尽量使用BOOL,避免转换产生的性能警告。

gbf:写vc++也尽量使用bool,使用BOOL做真假判断容易出错。如果要用BOOL做返回值,则使用int或BYTE代替。

标签:区别简述C