c++中将引用作为函数返回值需要注意的一些地方

时间:2022-05-19 19:02:46

1.不能返回局部变量的引用。局部变量是在栈里面创建的,函数调用完,就会被释放。引用所引用的地址就没有了。

2.不能返回内部用new分配的内存的引用。因为new了之后,没有delete,所以,会导致内存泄漏。

3.返回静态对象的引用要视情况而定。静态对象只初始化一次,如果有比较的出现,如if((a+b)==(b+c)),会导致条件一直成立。显然这并不是我们要的结果。

返回引用的好处:

可以实现连续的输入,输出,赋值等;

如:>> << operator=;