C++学习笔记一
2、“字节”的含义依赖于实现,因此在一个系统中两个字节的int可能是16位,而在另一个系统中可能是32位。(个人64位系统,int型为32位的)
3、对于无符号整形变量,取值是一个环形,溢出从头取值:unsigned short i = 0; i - 1 = 65536; unsigned short i = 65535;i + 1 = 0;
4、整型变量 C++基数:第一位为:1-9,基数为10;0,基数为8;0x或0X,基数为16。
5、指数表示:d.ddd e+n指的是小数点向右移动n位;d.ddd e-n指的是小数点向左移动n位。
6、指针初始化的值为地址值。初始化格式一般为:int * p = &array[0]; or char * p = array; or int *p = &variable。初始化前的指针禁止使用(存在隐患)
--2016.11.8
1,break和continue用法区别:
2,数组、模块类、模板类数组的区别:
数组存储于内存区域(栈)中,大小固定,初始化后不可变,数组之间不可以直接赋值; int array1[10],array2[10]; array1 = array2;错误!
模板类存储于*存储区或堆中(程序运行时分配空间),但其大小初始化时可以自己设定,比如0,在程序运行时还会在插入新值是自动调整;vector<int> vi(size);
模板类数组存储于内存区域(栈),大小固定,兼有数组存储值得功能,又可以直接对象间赋值。vector<int,10> a1,a2; a1 = a2;正确! 执行完后,a1 and a2中值相同。
eg:
array<int, 5> a1 = { 1, 2, 3, 4, 5 };
array<int, 5> a2;
a2 = a1;
cout << "a2 = "
<< a2[0] << " "
<< a2[1] << " "
<< a2[2] << " "
<< a2[3] << " "
<< a2[4] << " "
<< endl;
结果如下图:(记得包含头文件<array>和命名空间std)
--2016.11.8