《C++程序设计》 谭浩强 清华大学出版社 2016-08-03
1、P167
一般的C++编译系统为每个指针变量分配4个字节的存储单元,用来存放变量的地址。
2、P169 .cpp文件头
通常写法:
#include <iostream>
using namespace std;
说明:命名空间是C++的一种机制,C++的所有标识符都被定义在std命名空间中。使用std命名空间后,输入输出可以直接写成cout<< 与 cin>> 的形式;否则需写std::cout<< 与 std::cin>>
另外:#include<iostream.h> 是兼容早期C++版本的形式,相当于调用C库函数。后缀为.h的头文件,C++标准已明确提出不支持,C++标准为了与C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。
3、P171 指针的值不可预见可能会破坏系统的正常工作状况。
例如:
void swap(int *p1, int *p2)
{
int *temp;
*temp = *p1; //此语句有问题,由于未对temp赋值,因此temp并无确定的值,它的值是不可预见的,也就是说,temp所指向单元是不可预见的。这样的情况下对 *temp赋值是危险的,可能会破坏系统的正常工作状况。
*p1 = *p2;
*p2 = *temp;
}
4、值传递是单向的
5、P176 数组的引用方法及执行效率
引用一个数组元素,可以有两种表示方法:
(1)下标法,如a[i]形式;
(2)指针法,如*(a+i)或*(p+i),其中a是数组名,p是指向数组元素的指针变量。
使用指针法能使目标程序质量高(占内存少,运行速度快),因为C++编译系统是将a[i]转换为*(a+i)处理的,对每个a[i]都分别计算地址a+i*d,然后再访问该元素。