bool类型和引用

#include "stdafx.h"
#include "stdlib.h"

int main()
{
    bool b = 0;
    printf("b = %d\n", b);//输出 0
    b++;//bool类型参加数学运算时,C++会将其作为1个字节的整型数处理,但是会将最终的结果转换:非0就为1, 这里被自加1,
    printf("b = %d\n", b);//因为被加了1,非0值,作为bool变量就是输出1
    b = b - 3;
    printf("b = %d\n", b);//因为被加减了3,非0值,作为bool变量就是输出1

    int a1 = 1;
    int a2 = 2;
    (a1 < a2 ? a1 : a2) = 3;//因为C++对三目运算符进行了升级,所以,因为这里的a1,a2是变量,该三目运算符返回的就是一个变量,所以可以被赋值;
    //(a1 < a2 ? 1 :a2) = 4;//这样就是错误的,C++规定当三目运算符可能返回有常量时,返回的是值,而不是变量,这里因为返回1或者a2,不能作为左值;
    //C语言中的三目运算符返回的是变量值,不能被赋值;而C++语言返回的是变量本身,既可以作为左值被赋值,也可以作为右值赋值给其他变量使用;
    printf("a1 = %d,a2 = %d", a1, a2);
    int a3 = 4;
    int &a4 = a3;//引用类型,必须在定义时就初始化它。
    system("pause");
    return 0;//
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值