布尔类型和引用

一、C++中布尔类型
    1. C++在C语言的基本类型系统之上增加了bool
     2. C++中的bool可取的值只有true和false
     3.理论上bool只占用一个字节
注意:
       true代表真值,编译器内部用1来表示
       false代表非真值,编译器内部用0来表示
   4.bool类型只有true(非0)和false(0)两个值
   5.C++编译器会将非0值转换为true,0值转换为false
#include<stdio.h>
int main()
{
	bool b=false;   //false对应0
	int a=b;
	printf(" sizeof(b)= %d \n",sizeof(b));  //1
	printf("%b=%d , a=%d\n",b,a); 
#include<stdio.h>

int main()
{
	int a=1;
	int b=2;
	(a<b  ? a:b)=3;	
	printf("a = %d , b = %d\n",a,b);	
	return 0;
	
}

//0 0b = 3;a=b;printf("%b=%d , a=%d\n",b,a); // 1 1b=-5;a=b;printf("%b=%d , a=%d\n",b,a); // 1 1a=10;b=a;printf("%b=%d , a=%d\n",b,a); // 1 10a=0;b=a;printf("%b=%d , a=%d\n",b,a); // 0 0return 0;}


  
  
二、布尔类型是C++中的基本数据类型
     1.可以定义bool类型的全局变量
       2.可以定义bool类型的常量
       3.可以定义bool类型的指针
       4.可以定义bool类型的数组
三、C++对三目运算符的升级
1.C语言中的三目运算符返回的是变量值
   1.1 不能作为左值使用
2.C++中的三目运算符可直接返回变量本身
   2.1 既可以作为左值使用,又可以作为右值使用
注意:
      三目运算符可能返回的值中如果有一个常量值则不能作为左值使用
#include<stdio.h>

int main()
{
	int a=1;
	int b=2;
	(a<b  ? a:b)=3;	
	printf("a = %d , b = %d\n",a,b);	
	return 0;	
}


三、C++中的引用
  1.在C++中新增加了引用的概念
       1.1 引用可以看做一个已定义变量的别名
        1.2 引用的语法: Type&  name =var
int a = 4;
int& b = a;  //b为a的别名
b = 5;       //操作b就是操作a
注意:普通引用在定义时必须用同类型的变量进行初始化
#include<stdio.h>

int main()
{
	
	int a=4;
	int& b=a;
	
	b=5;
	printf("a = %d\n",a);
	printf("b = %d\n",b);
	printf("a = %p\n",&a);
    printf("b = %p\n",&b);	
	return 0;
		
}




三、C++对三目运算符做了什么?
    1. 当三目运算符的可能返回值为变量时,返回的是变量的引用
     2. 当三目运算符的可能返回中 有常量时,返回的是值
int a = 1;
int b = 2;

(a<b ? a:b )=4 //正确,返回a或b的引用,可作为左值
(a<b ? 1:b )=3 //错误,返回1或b的值, 不可能为左值
四、小结
  1.  bool类型是C++新增加的基础类型
  2.  bool类型的值只能是true和false
  3.  C++中的引用可以看作变量的别名来使用
  4.  三目运算符的可能返回都是变量时,返回是引用





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值