Bitree T和Bitree &T有什么区别

来源:百度知道 编辑:UC知道 时间:2024/07/08 07:46:55
关于树,Bitree T和Bitree &T还有Bitree *T有什么区别?
对于程序
Bitree T;

Bitree &P = T;

Bitree *Q = &T

你的意思是不是,对P操作就是对T操作,Q指向T的根是吗?

Bitree T -> 定义Bitree一个实例对象:T;

Bitree &T -> 定义Bitree的实例对象的引用,就是一个已经定义的对象的别名,需要初始化;
/*
摘自<<高质量C++/C编程指南>>
引用是C++中的概念,初学者容易把引用和指针混淆一起。一下程序中,n是m的一个引用(reference),m是被引用物(referent)。

int m;

int &n = m;

n相当于m的别名(绰号),对n的任何操作就是对m的操作。例如有人名叫王小毛,他的绰号是“三毛”。说“三毛”怎么怎么的,其实就是对王小毛说三道四。所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。

*/
Bitree *T -> 定义Bitree的实例对象指针,指向一个实例对象;

代码参考:

Bitree T;

Bitree &T = T;

Bitree *T = &T; //&是取地址.

1、定义的对象不同:
Bitree T -> 定义Bitree一个实例对象:T;
Bitree &T -> 定义Bitree的实例对象的引用,就是一个已经定义的对象的别名,需要初始化;
2、解释:
以下程序中,n是m的一个引用(reference),m是被引用物(referent)。
int m;
int &n = m;
n相当于m的别名(绰号),对n的任何操作就是对m的操作。例如有人名叫王小毛,他的绰号是“三毛”。说“三毛”怎么怎么的,其实就是对王小毛说三道四。所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。
*/
Bitree *T -> 定义Bitree的实例对象指针,指向一个实例对象;
代码参考:
Bitree T;
Bitree &T = T;
Bitree *T = &T; //&是取地址.