美文网首页C++思考笔记
C++思考笔记(1):基本数据类型

C++思考笔记(1):基本数据类型

作者: RC_HT | 来源:发表于2019-10-16 23:13 被阅读0次

基本数据类型

除开void类型之外,就是算术类型。而算术类型又可以分为整型和浮点型:


算术类型分类

C++标准并没有规定基本数据类型的长度,但是规定了基本数据的最小长度,以及它们之间的大小关系。比如short最小长度为16位bit,int的长度不小于short,而long又不小于int等等。

类型 含义 最小长度 备注
bool 布尔值 NA
char 字符型 8 bits 大小为一个字节
wchar_t 宽字符型 16 bits
char16_t unicode字符型 16 bits 大小固定
char32_t unicode字符型 32 bits 大小固定
short 短整型 16 bits
int 整型 16 bits
long 长整型 32 bits
long long 超长整型 64 bits C++11标准引入
float 单精度浮点型 6位有效数字
double 双精度浮点型 10位有效数字
long double 扩展精度浮点型 10位有效数字

为什么C++不规定基本类型定长呢?

比如java中每一种类型都有自己固定的长度,做到在所有平台运行都是一致的。但我认为C++的做法反而是更合理的,因为C++将决定基本数据类型长度的权力交给了编译器实现,这样编译器就能根据具体的硬件平台来选择处理效率最高的方案
比如对于整型和浮点型,int和double类型的长度在各个平台处理起来往往都是最高效的,不仅在C++程序员编写程序的时候经常用到,C++的语法也经常会用到,例如数字字面值默认为int和double类型,二元运算默认提升为int和double类型,就连不定参数的传入也会默认提升为int和double类型。这样只需要写一次代码就能得到各个平台效率最高的程序。
至于代码可移植性问题,首先C++规定的基本类型最小长度足够应付很多场景,其余确实需要定长类型的情况也可以利用<cstdint>头文件引入的int8_t,int16_t,int32_t等定长类型来解决。

相关文章

  • C++思考笔记(1):基本数据类型

    基本数据类型 除开void类型之外,就是算术类型。而算术类型又可以分为整型和浮点型: C++标准并没有规定基本数据...

  • c++笔记1

    1.数据类型 黑色的是c和c++共有的数据类型,红色的是c++独有的数据类型。 2.基本类型数据的内存长度和数值范...

  • 2020徐州C++初级班,开启探索计算机科学之路

    课程内容: 1、C++输入输出机制; 2、C++基本数据类型; 3、C++运算符和表达式; 4、C++顺序结构; ...

  • C++基本语法(一)

    1、Hello World 程序结构 2、数据类型 C++提供了7种基本数据类型 一些基本类型可以使用一个或多个类...

  • Kotlin 基本数据类型 (笔记 二)

    Kotlin 基本数据类型 (笔记 二) 1.介绍 ​ 无基础数据类型,定义的变量为kotlin 封装的对...

  • C++ - 重载运算符

    运算符 C++ 预定义表示对数据的运算只能用于基本的数据类型 C++ 提供了数据抽象的手段用户自己定义数据类型 -...

  • C++系列之基础知识

    数据类型 7种基本的C++数据类型 类型关键字占用内存 sizeof(类型关键字)布尔型bool1B字符型char...

  • C++学习大纲

    交流728483370,一起学习加油! C++ 基本数据类型和表达 C++ 无条件转移控制 C++ 子程序间的数据...

  • 2018-11-25java 数据类型笔记

    java 数据类型笔记 分类:A.基本数据类型。B,引用数据类型。 基本数据类型:4类8种。 一,整数。 byte...

  • Java基础概念

    本系列文章着重介绍java与C++的区别。 一、数据类型 java言语数据类型只有两种:基本数据类型、引用数据类型...

网友评论

    本文标题:C++思考笔记(1):基本数据类型

    本文链接:https://www.haomeiwen.com/subject/xbmemctx.html