首页 > 编程语言 >c++中BOOL和bool的区别

c++中BOOL和bool的区别

时间:2023-04-10 15:01:36浏览次数:46  
标签:typedef int c++ near BOOL bool 取值


一:在网上找到了BOOL和bool的区别:

1、类型不同

BOOL为int型

bool为布尔型

2、长度不同

bool只有一个字节

BOOL长度视实际环境来定,一般可认为是4个字节

3、取值不同

bool取值false和true,是0和1的区别

BOOL取值FALSE和TRUE,是0和非0的区别

二:

bool是标准C++数据类型,可取值true和false。单独占一个字节,

如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器。

BOOL是微软定义的typedef int BOOL。与bool不同,它是一个三值逻辑

TRUE/FALSE/ERROR,返回值为>0的整数为TRUE,0为FALSE,-1为ERROR。

Win32 API中很多返回值为BOOL的函数都是三值逻辑。比如GetMessage

().

三:

bool x=3;  //告警
 bool x=1;  //正确
 BOOL x=3;  //正确
 BOOL x=3.3;  //告警
 注:windows为了兼容问题定义的基础变量。
 typedef unsigned long       DWORD;
 typedef int                 BOOL;
 typedef unsigned char       BYTE;
 typedef unsigned short      WORD;
 typedef float               FLOAT;
 typedef FLOAT               *PFLOAT;
 typedef BOOL near           *PBOOL;
 typedef BOOL far            *LPBOOL;
 typedef BYTE near           *PBYTE;
 typedef BYTE far            *LPBYTE;
 typedef int near            *PINT;
 
 );

标签:typedef,int,c++,near,BOOL,bool,取值
From: https://blog.51cto.com/u_130277/6180917

相关文章

  • c++ 多线程摘记
    有没有linux和windows通用的多线程库?ChatGPT:是的,C++11标准引入了一个名为std::thread的多线程库,它可以在Windows和Linux上使用。std::thread库提供了一种方便的方式来创建和管理线程,包括启动、等待、终止和同步线程。此外,它还提供了一些便利的功能,例如线程局部存储......
  • C++派生类里析构函数和构造函数的调用顺序
    C++派生类里析构函数和构造函数的调用顺序1.定义一个哺乳类Mammal,在由此派生出狗类Dog,定义一个Dog类的对象,观察基类和派生类的构造函数与析构函数的调用顺序。#include<bits/stdc++.h>usingnamespacestd;classMammal{public: Mammal(){ cout<<"constructedM"<<e......
  • 《c++徒步》MFC篇——MFC基础知识
    MFC简介原文链接:https://www.cnblogs.com/zhouwanqiu/p/6914090.html1、什么是MFC?全称:MicrosoftFoundationClassLibrary(微软基础类库)1-MFC从硬盘存在形式来说就是一个库(静态MFC库、动态MFC库)2-MFC从原理来说还是一个程序框架2、为什么使用MFC?基于框架编程,提高工作效......
  • c++遍历容器元素
    for(autoi:v)遍历容器元素1.auto2.auto&3.constauto&4.constautoC++11新增了一种循环:基于范围(range-based)的for循环。这简化了一种常见的循环任务:对数组(或容器类,如vector和array的每个元素执行相同的操作,如下例所示:doubleprices[5]={4.99,10.99,6......
  • C++标准输入输出
    一、问题引入关于C和C++的输入输出区别,虽然在C++中仍然可以使用scanf和printf,但建议使用cin和cout。虽然使用不同的函数得到的结果一样,但仔细检测发现,cin和cout没有格式控制符了,意味着输入更简单了二、解决过程#include<iostream>usingnamespacestd;intmain(......
  • C++指针
    指针指针的基本概念1、指针的作用:可以通过指针间接访问内存(指针就是内存地址)内存编号是从0开始记录的,一般用16进制数字表示可以利用指针变量保存地址指针变量定义的语法#include<iostream>usingnamespacestd;intmain(){ //1、定义指针 inta=10......
  • C++-Ubuntu core dumped(核心已转储)-GDB调试
    C++-Ubuntucoredumped(核心已转储)-GDB调试Linux的可执行程序异常退出时,提示“核心已转储”。此时需要系统生成core文件,并通过GDB调试以确定问题。https://blog.csdn.net/scjdas/article/details/128585787设置系统生成core文件用ulimit-a查看corefilesize项是否......
  • C/C++模拟校园卡消费记录查询系统[2023-04-09]
    C/C++模拟校园卡消费记录查询系统[2023-04-09]模拟校园卡1问题描述同学们都在机房做实验或自由上机,请根据自己实际使用情况编写一份模拟校园卡消费记录查询系统,实现登录,计费,挂失,统计等相关功能。2功能要求主要功能模块:(1)登录模块:同学根据自己设定的密码登录。三次错误则......
  • 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 08.创建主HUD & 自定义作弊指令
    斯坦福课程UE4C++ActionRoguelike游戏实例教程0.绪论概述本篇文章对应课程Lecture14,56-58节。本篇文章将会教你将之前创建的各种UMG控件统合到一个主控件上。此外,还会教你如何在C++中创建自定义作弊指令,并在游戏中使用控制台执行它。目录创建主HUD使用GameMode生成玩......
  • 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 09.第二个游戏规则:玩家重生
    斯坦福课程UE4C++ActionRoguelike游戏实例教程0.绪论概述本文对应课程15章,60-RefiningPlayerRespawns。在本篇文章中,将会为游戏新增加一个规则,即玩家可以自动产卵,呸,自动重生。设定玩家重生在之前的课程中,我们使用GameMode为游戏添加了第一个规则,即自动生成AI小兵。在......