为了加强C++的基础,今天开始阅读C++ primer plus这本书。第三章主要讲基本的数据类型,内容较简单,对一些没有见过的琐碎点进行一些记录。
头文件climits
该头文件中是一些关于数据类型最大值和最小值的符号常量。C++11初始化方式: int a = {24}或 int a{24},本是用于数组赋值,现可用于单值变量。但不允许缩窄,例如将浮点型转换为整型。
整型类型的选择:在变量可能大于16位整数的最大可能值, v使用long。
在大型整型数组中为了节省内容而使用short。
int - 4字节;short - 2字节;long - 4字节; long long - 8字节。通过cout<< dec,hex,oct可以让cout分别用十进制,十六进制,八进制输出某数据。
C++确定常量类型方法:一是根据数字常量的后缀,如u, ul , ll;
二是通过看数值的长度,选择能够存储该数的最小类型:不带后缀的十进制整数:int, long , long long;不带后缀的八进制或十六进制整数:int , unsigned int long, unsigned long, long long , unsigned long long
注:unsigned long int,在C语言中指无符号长整型的,是整型(整数类型)变量的一种。本类型与unsigned long(“无符号长”)是等价的,即定义的时候int(“整数”)可以不写cout.put()同样有输出的效果。Release2.0之前,C++的cout将字符变量显示为字符,字符常量显示为数字,2.0之后将字符常量存储为char类型。
wcha_t为宽字符类型,可表示扩展字符集。用多个字节来代表的字符称之为宽字符
wcha_t bob = L'P';
wcout<<L"tall"<<endl;
L指示宽字符集和宽字符串;
C++11新增类型:char16_t, char32_t都是无符号的char类型,前者16位,后者32位;
char16_t 类型用u前缀指示u’C’, u”tall”;
char32_t类型用U前缀指示U’C’, U”tall”;
d.ddE+n指小数点向右移n位,而d.ddE~n指小数点向左移n位。
C++11中两个操作数做运算,按照精度高的进行转换,再进行运算;如果是有符号数和无符号数进行运算,转换为高级别操作数的类型再进行运算。