第二章变量和基本类型

2.1基本内置类型

2.11算数类型

  1. C++规定一个int至少和一个short一样大但是小于等于long,一个long至少和一个int一样大但是小于等于long long,一个long long至少和一个long一样大。其中long long是C++11中新定义的

  2. 与其他整形不同char分为三种:char 、signed char 和 unsigned char。char表现于哪一种具体由编译器决定,这就可以解释当时在写单片机程序时候出现的一些BUG是由于不注意数据类型

  3. 切勿混用带符号类型和无符号类型,如:int a = -1;unsigned int b=1;std::cout<<a*b<<endl; 输出为4294967295即为-1的补码
    两种不同数据类型运算进行的隐式转换规则

2.4.3顶层const

顶层const:修饰的对象是常量,适用于任何数据类型。例:int* const p1 = NULL;const int a = 1;
底层const:表示指向的对象是常量,和指针与引用相关。例:const int& = i; const int* pa = &a;

constexpr 和 常量表达式

常量表达式:在编译阶段就得到计算结果的表达式
一个对象(或表达式)是不是常量表达式由它的数据类型初始值共同决定
例:
const int max_files = 20; //是
const int limit = maxfiles + 1;//是
int staff_size = 27; //不是
const int sz = get_size(); //不是,具体值要到运行时才知道
constexpr变量
C++11标准规定,允许将变量声明为 constexpr 类型,以便由编译器来验证变量的值是否是一个常量表达式。且声明为constexpr的变量一定是一个常量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WAF001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值