《Beginning C++20 From Novice to Professional》第二章Fundamental Types

本章将介绍C++的基础数据类型,主要涉及下列方面:

  • 变量的声明、初始化、赋值
  • 整数字面量
  • 浮点数如何计算
  • 变量类型转换
  • 字符相关
  • auto关键字

Variables, Data, and Data Types

这里先给出变量的定义:有名字的一块内存,这个变量的类型决定了程序如何解释这块内存,如何使用这块内存。并且类型由一系列关键字组成

基础变量分整型和浮点型两大类

Defining Integer Variables

要说明几点:

  1. 第九行只是声明,初始化由编译期完成,此处进行默认初始化(声明 ≠ 初始化)
  2. 初始化有三种形式,{},(),=,大多数情况下都没有区别
  3. {}会检查数据存不存在精度丢失的情况,如果存在narrowing conversion则报错

Signed Integer Types 有符号整型

这是书上给出的经典值(常见值),而标准只要求了最小大小(表里包含无符号整型):

表里每一小栏靠前的名字是更常用的,即short比short int常见

我们可以使用sizeof关键字查看类型所占字节数

Unsigned Integer Types 无符号整型

和对应的有符号类型占用相同的内存

书上提到char应当用来存储字符类型,用signed/unsigned char来存储数字,std::byte来存储二进制数据

char和signed char不是一种类型!这是整型里的例外!它的有符号性依赖于平台实现!

Fundamental types - cppreference.com

我们可以用limits里面的一个模板类来查看自己机器的char是不是有符号类型(取决于机器对数字的编码)

Zero Initialization

{}和{0}的初始化效果一样,都是使数值类型初始化为0,{}对所有基本数值类型都适用

Defining Variables with Fixed Values 定义常量

加个const即可

Integer Literals 整数字面量

Integer literal - cppreference.com

书上整理的没有cppref系统,这个不常见,用的时候查就可以了

需要知道常见的:u代表无符号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

+xiaowenhao+

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

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

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

打赏作者

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

抵扣说明:

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

余额充值