August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
我们可以将一个引用看作一个自动解引用的不可变指针或一个对象的替代名字。指针和引用有以下几方面不同:
·为一个指针赋值会改变指针自身的值(不是指针指向的值)。
·为了得到一个指针,你通常需要使用new或&。
·为了访问一个指针指向的对象,你可以使用*或[]。
·为一个引用赋值会改变引用指向的值(不是引用自身的值)。
·在初始化一个引用之后,你不能让引用指向其他对象。
·为引用赋值执行深拷贝(赋值给引用的对象);为指针赋值不是这样(赋值给指针自身)。
·注意避免空指针。
例如:
对应的引用的例子如下:
注意最后一个例子;不仅是这种语言构造会失败,而是一个引用在初始化后就无法再指向其他对象了。如果你需要指向不同的对象,请使用指针。如需了解如何使用指针,请参见12.9.3节。
引用与指针都是通过使用内存地址来实现的。它们只是在地址的使用上不同,为编程人员提供稍有不同的特性。
Read now
Unlock full access