C++笔记014:C++对C的扩展——新增数据类型bool类型
原创笔记,转载请注明出处!
点击【关注】,关注也是一种美德~
1、C++在C语言的基本类型系统之上增加了bool类型。
2、C++中的bool类型变量可取的值只有true 和false,true代表真值,编译器内部用1表示,false代表非真值,编译器内部用0表示。
3、C++编译器会在赋值时将非0值转换为true(1),0值转换为false(0)。
4、理论上bool变量之占一个字节。
下面的程序来对上面的内容进行说明:
#include<iostream>
using namespace std;
int main()
{
bool a = true;
cout<<"bool a "<<a<<endl; //验证true的值
cout<<"sizeof bool "<<sizeof(bool)<<endl;//验证bool类型变量占内存大小
cout<<"sizeof a "<<sizeof(a)<<endl; //验证bool类型变量占内存大小
bool b = false;
cout<<"bool b "<<b<<endl; //验证false的值
bool c = 0;
cout<<"bool c "<<c<<endl; //验证bool变量值为0的值
bool d = 10;
cout<<"bool d "<<d<<endl; //验证bool变量值为非0的值
bool e = -10;
cout<<"bool e "<<e<<endl; //验证bool变量值为非0的值
system("pause");
return 0;
}
运行结果:
bool a 1
sizeof bool 1
sizeof a 1
bool b 0
bool c 0
bool d 1
bool e 1
请按任意键继续. . .
原创笔记,转载请注明出处!
更多精彩请关注微信公众号:依法编程

C++笔记014:C++对C的扩展——新增数据类型bool类型的更多相关文章
- Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- C#学习笔记10:Try-catch的用法和引用类型、值类型整理
Try-Catch: 将可能发生异常的代码放到try中,在catch中进行捕获. 如果try中有一行代码发生了异常,那么这行代码后面的代码不会再被执行了. Try写完了以后,紧接着就要写Catch ...
- C++ Primer学习笔记(三) C++中函数是一种类型!!!
C++中函数是一种类型!C++中函数是一种类型!C++中函数是一种类型! 函数名就是变量!函数名就是变量!函数名就是变量! (---20160618最新消息,函数名不是变量名...囧) (---201 ...
- C# step by step 学习笔记8 CHAPTER 9 使用枚举和结构创建值类型
C# 2012 step by step 学习笔记8 CHAPTER 9 使用枚举和结构创建值类型 本章内容 声明一个枚举类型 创建并使用一个枚举类型 声明一个结构类型 创建并使用一个结构类型 解释结 ...
- Flutter学习笔记(3)--Dart变量与基本数据类型
一.变量 在Dart里面,变量的声明使用var.Object或Dynamic关键字,如下所示: var name = ‘张三’: 在Dart语言里一切皆为对象,所以如果没有将变量初始化,那么它的默认值 ...
- ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法
一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归. ...
- JavaScript学习笔记--ES6学习(四) 字符串的扩展
ES6对字符串进行了一些扩展,主要表现在对Unicode 大于\uFFFF的字符的处理上. 1. ES6中字符的Unicode表示方法 在ES5中,字符串的Unicode表示方法: \uxxxx . ...
- JavaScript学习笔记--ES6学习(五) 数值的扩展
ES6 对于数值类型 (Number) 进行了一下扩展: 1.对于二进制和八进制提供了新的写法 ES6对于二进制和八进制的数值提供了新的写法,分别用0b (或者0B) 和0o (或者0o) 表示.例如 ...
- objective-C学习笔记(十一)类别和扩展
类别 类别是对外的,外部都可以访问 类别是在没有源代码或者基于某些特定场合的情况下,为一个类增加功能(方法).或者用于给一个特别大的类进行分割. 命名规则:类名+扩展方法,如NSString 可以添加 ...
随机推荐
- Vue打包桌面程序
开源的地址:https://github.com/electron/electron-quick-start 一.运行 1. 安装依赖 cnpm install electron --save cnp ...
- Same Tree 比较两个二叉树是否完全相同
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...
- appium定位安装包启动类名称
cmd输入:adb logcat > d:/1.txt 然后运行APP,关闭APP,到D盘查找文件1,Ctrl+F,输入LAUNCHER,定位启动类,如下图所示位置 即为,eclipse调用A ...
- [转载]一步一步教你如何在Virtualbox虚拟机中安装Remix
原文地址:https://bbs.jide.com/forum.php?mod=viewthread&tid=4892 大神请路过-- [准备工具] 1.Virtualbox虚拟机(这个是免费 ...
- centors7 elasticsearch6.3安装以及问题记录
1.安装elasticsearch . 安装系统:centors7 1.下载安装包 官网地址:https://www.elastic.co/downloads/past-releases 2.mac文 ...
- 三年Linux运维工作总结教训
Linux运维一定要知道的六类好习惯和23个教训,避免入坑! 从事运维三年半,遇到过各式各样的问题,数据丢失,网站挂马,误删数据库文件,黑客攻击等各类问题. 今天简单整理一下,分享给各位小伙伴. 一. ...
- Ubuntu下Visual Studio Code的配置
最近在Ubuntu系统里用Visual Studio Code编写vue代码时,在build的时候老是报错,后来发现原来Visual Studio Code里默认Tab是4个空格,而vue代码要求ta ...
- 沉淀再出发:xml的意义和存在的价值
沉淀再出发:xml的意义和存在的价值 一.前言 学习了那么多的语言.框架.语法和基础知识,我们对于数据的理解或许有了一定的认识,但是如何描述.包装.传输.存储数据的手法和流程我们了解的或许并不多,其中 ...
- [EffectiveC++]item06:若不想使用编译器自动生成的函数,就该明确决绝
- Windows环境下JDK的配置及多版本JDK切换的方法记录
(这里记录了笔者了解的关于JDK环境配置的信息,以及针对系统上存在不同版本JDK时所尝试的解决方案.具体来说,是已安装 JDK 8 后,又安装了 JDK 9 时所遇到的问题和尝试的解决方法.这次记录以 ...