c++ 数据类型,及其使用技巧

谈到数据类型,我们必须了解什么是数据类型

数据类型:数据的意义及我们能在数据上执行的操作。大多数计算机以2的整数次幂个位作为块来处理内存,类型决定了数据在内存中所占的位数,以及编译器如何解释这些位的内容。

c++ 有哪些数据类型呢?

c++数据类型 可以分为4大类:

(1)基本内置类型(布尔型,字符型,整形,浮点型)

(2)用户自定义类型也就是c++面向对象的核心:类

(3)c++标准库中定义的复杂的数据类型(字符串(Strings),栈(Stack) ,队列(Queues).....)

  (4)复合类型(指针和引用)


下面详解C++的 基本数据类型 及其使用技巧


bool 类型:bool 类型的取值 只有 真(true)和 假(false)两种,一般用在条件判断语句,和函数的返回值中


字符类型:基本字符类型char(8位) ,宽字符 wchar_t(16位), Unicode字符 char16_t(16位),Unicode 字符 char32_t(32 位)


基本的字符类型 char ,一个char的内存空间应确保可以存放机器基本字符集中任意字符对应的数字值,所以一个char 的大小和一个机器字节一样。(通常为8位(bit)也就是一个字节(byte))

宽字符 wchar_t: wchar_t 用于确保可以存放机器最大扩展字符集中的任意一个字符。

Unicode字符集 char16_t, char32_t 用于表示所有自然语言中字符。


整形:除字符和布尔类型外,整形用于表示不同大小的整数,可分为 short(16位) ,int(32位) ,long(32 位), long long(64位)

c++ 标准规定 一个int 至少和一个short一样大,一个long至少和一个int一样大,一个long long 至少和一个 long一样大。

注意:int 是最基本的整形,为了提高cpu 的处理速度,一般和 cpu的字宽一致( 4个字节)。


浮点型:c++浮点型有三种  单精度 float(32 位)  双精度 double (64位)  扩展精度 long double(96 位或128 位,跟具体的硬件有关)


其中char , short ,int ,long ,long long 可以被类型修饰符signed(带符号)unsigned(无符号)修饰,其中signed 类型可以表示 负数,零,正数,而unsigned 只能表示大于等于零的数。

字符类型有三种 :char,signed char ,unsigned char .但表现形式只有两种,signed char ,和unsigned char ,而char 实际上会表示signed char 和 unsigned char 其中的任何一种形式,具体哪种由编译器决定。


基本数据类型的使用技巧:

1.当明确知道数值非负时,选用无符号类型。

2.在整数运算时,一般选择 int 

3.算术表达式中 不要使用 bool 或者char ,只有在存放字符的时候 才使用char 判断真假时 使用 bool

4.执行浮点运算时选用 double。因为 float通常精度不够且 double 和float的 计算代价相差不大,甚至 在有些机器上,双精度运算甚至比单精度要快。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章