旗下导航:搜·么
当前位置:网站首页 > .Net教程 > 正文

C++ 布尔范例和援用的用法详解【C#.Net教程】,c++,c

作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:71评论:0


导读:1、布尔范例C++中的布尔范例C++在C言语的基本范例体系之上增添了boolC++中的bool可取的值只要true和false理论上bool...

1、布尔范例

C++中的布尔范例

  • C++在C言语的基本范例体系之上增添了bool

  • C++中的bool可取的值只要truefalse

  • 理论上bool之占用一个字节

注重:

true代表真值,编译器内部用1来示意

false代表非真值, 编译器内部用0来示意

C言语中:

用整型值来替代bool范例,经常运用0:flase, 1:true

C++做了范例加强,增添了一个异常严谨的bool范例,truefalse作为关键字存在。

在C++的布尔范例中,bool范例只要truefalse两个值,C++编译器会将非0值转换为true, 0值转换为false

bool b = 0;
printf("b = %d\n", b);
b++;
printf("b = %d\n", b);
b = b - 3;
printf("b = %d\n", b);
// bool范例是不是支撑数学运算?
其实在C++言语中,布尔范例的内部完成是用一个字节的整型来完成的, bool范例支撑数学运算,编译器会在内部举行调解,非0为true,0 为 false

代码实验:

#include <stdio.h>

int main(int argc, char *argv[])
{
    bool b = false;
    int a = b;
    
    printf("sizeof(b) = %d\n", sizeof(b));
    // sizeof(b) = 1, bool范例占一个字节
    printf("b = %d, a = %d\n", b, a);    0
    // b = 0, a = 0
    
    b = 3;    // b = 1
    a = b;  // a = 1
    
    printf("b = %d, a = %d\n", b, a);
    
    b = -5;    // b = 1
    a = b;  // a = 1
    
    printf("b = %d, a = %d\n", b, a);
    
    a = 10; // a = 10
    b = a;  // b = 1
    
    printf("a = %d, b = %d\n", a, b);
    
    a = 0;    // a = 0
    b = a;  // b = 0
    
    printf("a = %d, b = %d\n", a, b);
    
    return 0;
}

布尔范例是C++中的基本数据范例

  • 能够定义bool范例的全局变量

  • 能够定义bool范例的常量

  • 能够定义bool范例的指针

  • 能够定义bool范例的数组

    ......

2、三目运算符

C++中对三目运算符举行了升级

斟酌以下代码是不是准确,分别在C言语和C++环境中编译运转实验

int a = 1;
int b =2;
(a < b ? a : b) = 3;
printf("a = %d, b = %d\n", a, b);
// 在C言语中报错
// 在C++中,效果a = 3

三目运算符

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

    • 不能作为左值运用

  • C++中的三目运算符能够直接返回变量自身

    • 既能够作为右值运用,又能够作为左值运用

注重:

三目运算符能够返回的值中如果有一个是常量值,则不能作为左值运用

三目运算符只要在一切的能够返回都是变量的时刻才作为左值运用,一个常量一个变量就不能作为左值运用

C++对三目运算符举行了如许的升级,意义安在?

三目运算符一切的能够返回都是变量的时刻,返回的就是变量自身,由此引出了新观点:援用

3、援用

3.1 变量名

变量是一段现实一连存储空间的别号,顺序中经由过程变量来请求并定名存储空间,经由过程变量的名字能够运用存储空间。

题目:一段一连的存储空间只能有一个别号吗?

3.2 援用

C++中的援用

  • 在C++中增添了援用的观点

    int a = 4;
    int& b = a;     // b作为a的别号
    b = 5;        // 操纵b就是操纵a
    • 援用能够看做一个已定义变量的别号

    • 援用的语法:Type& name = var;

注重:

一般援用在定义时必须用同范例的变量举行初始化。

  • C++对三目运算符做了些啥?

    int a = 1;
    int b = 2;
    (a < b ? a : b) = 3;    // ok,返回a或b的援用,可作为左值
    (a < b ? 1 : b) = 4;    // err,返回1或b的值,不能作为左值
    • 当三目运算符的能够返回都是变量时,返回的是变量援用

    • 当三目运算符的能够返回中有常量时,返回的是

4、小结

bool范例是C++新增添的基本范例

bool范例的值只能是truefalse

C++中的三目运算符可作为左值运用

C++中的援用能够看做变量的别号来运用

三目运算符的能够返回都是变量时,返回的是援用

相干文章:

php boolean(布尔)范例的用法举例

PHP布尔型数据范例 false true 用法引见

以上就是C++ 布尔范例和援用的用法详解的细致内容,更多请关注ki4网别的相干文章!

标签:c++c


欢迎 发表评论: