About reference:
有关引用的一个重点是: 任何引用必须依赖于其它变量或其它对象申请的存储空间。使用一个引用,也就是访问其存储空间。
所以一种最为简单的方法是将引用看成是一种“奇特”的“指针”。这种“指针”的一个优势是在于你不需要考虑它是否被初始化(编译器强制执行),和销毁(编译器替你完成)。
使用引用的一些规则:
1. 引用在创建的时候必须被初始化。(指针可以在任何时候进行初始化)
2. 一旦引用被用一个对象进行初始化,它不能再去引用其它的对象。(指针可以在任何时候指向其它对象)
3. 你不能使用一个空引用。你必须在通常情况下有这样一种假设前提:引用必须与一段合法的存储空间相联系。
const references:
对于一个函数的常量参数来说:对于内建类型,函数不会修改该参数;对于用户自定义类型来说,函数只能调用声明为常量的成员函数,而且不会修改任何公共成员数据。
在函数中使用常量参数是很重要的,因为你的函数可能会接收一个临时对象。这个临时变量可能是另一个函数的返回值或者显示调用你这个函数的使用者。临时对象通常都为常量,所以如果你不使用常量引用,这个参数将不会被编译器接收。对于任何临时对象来说你必须有这样一个假设前提:它们都是不可访问的。当你改变这些数据时,编译器进行通知通常是十分有意义的,这是因为改变的结果将会造成信息丢失。