C++语言程序设计

【本章小结】
指针和引用是C++语言的重要内容之一，也较难掌握。本章主要学习了指针的含义、指针和地址、指针变量和指针运算、指针和函数参数、指针和数组、指针和引用等内容。
指针类型的变量是用来存放内存地址的。定义指向变量的指针变量时，应在它所指的变量的类型后面加一个"*"。指针指向数组时，常常把指针与整数作加减运算，即让指针变量加一个整数或减一个整数，但这与整数的运算并不相同，指针变量加1，是将指针变量指向下一个元素，余类推。
在C++语言中，函数名是该函数代码所占内存区的首地址，我们可以把函数的这个首地址(或称之为入口地址)赋予一个指针变量，此指针是所谓函数指针。然后，可用该指针调用函数，这有助于提高程序设计的灵活性。需要注意的是，函数指针与变量指针的定义方法并不相同。
在C++中，内存的分配和释放用new和delete两个运算符。它们可以使得程序员能够根据需要，申请和释放内存，而不依赖于内存的自动分配和释放，可以大大提高编程地灵活性。但内存的申请和释放也很容易犯错误，例如，未对指针变量进行初始化或分配内存，便进行各种运算，内存的重复释放和未释放，导致内存泄露等，要十分小心。
指针和引用可以作为函数的参数进行传递，并可以提高程序的运行效率（不必复制指针指向的内容，从而接节省了内存和运行时间），要注意比较和区分引用传递与值传递的区别，指针与引用作为函数的参数与数组作为函数参数的异同，如何利用指针和引用带回函数的返回值等。
引用是指针的另一种形式，把指针搞清楚了，学习引用也不会有什么困难。但是，引用和指针的定义方法并不同，特别是，引用作为函数返回值时，很易出错，要十分小心。一般说来，引用比指针要直观，在编程时，应尽量使用引用，这有助于提高程序的可读性。