关于c:C4-布尔类型和引用

布尔类型

C++中的布尔类型

C++在C语言的根本类型零碎之上减少了bool
C++中的bool可获得值true和false
实践上bool只占用一个字节
bool类型只有true和false两个值

#include "stdio.h"
int main(int argc,char *argv[])
{
    bool b = 0;
    printf("b=%d\n",b);
    b++;    
    printf("b=%d\n",b);
    b=b-3;
    printf("b=%d\n",b);
    return 0;
}

输入后果:
0
1
1

#include "stdio.h"
int main(int argc,char *argv[])
{
   bool b= false;
   int a = b;
   printf("sizeof(b) = %d\n",sizeof(b));
   printf("b=%d,a=%d\n",b,a);
   b = 3;
   a = b;
   printf("b=%d,a=%d\n",b,a);
   b = -5;
   a = b;
   printf("b=%d,a=%d\n",b,a);
   a = 10;
   b = a;
   printf("a=%d,b=%d\n",a,b);
   a = 0;
   b = a;
   printf("a=%d,b=%d\n",a,b);
   return 0;
}

输入后果:

布尔类型是C++中的根本数据类型

能够定义bool类型的全局变量
能够定义bool类型的常量
能够定义bool类型的指针
能够定义bool类型的数组
C++对三目运算符进行了降级

三目运算符

C语言中的三目运算符返回的是变量值

不能作为左值应用

C++中的三目运算符可间接返回变量自身

即可作为右值应用,也能够作为左值应用
留神:
三目运算符可能返回的值如果有一个是常量值,则不能作为左值应用;

#include "stdio.h"

int main(int argc,char *argv[])
{
  int a = 1;
  int b = 2;
  (a<b?a:b) = 3;
  printf("a = %d,b = %d\n",a,b);
}

C++中的援用

变量名的回顾

变量是一段理论间断存储空间的别名
程序中通过变量来申请并命名存储空间
通过变量的名字能够应用存储空间

在C++中新减少了援用的概念

援用能够看作是一个已定义变量的别名
援用的语法:type& name = var;
留神:
一般援用再定义时必须用同类型的变量进行初始化。

#include "stdio.h"

int main(int argc,char *argv[])
{
  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);
}

C++三目运算符
当三目运算符的可能返回都是变量时,返回的是变量援用
当三目运算符的可能返回中有常量时,返回的是值

小结

bool类型是C++新减少的根底类型
bool类型的值只能是true和false
C++中的三目运算符可作为左值应用
C++中的援用能够看作变量的别名应用
三目运算符的可能返回都是变量时,返回的是援用

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据