1.不能返回局部变量的引用。局部变量是在栈里面创建的,函数调用完,就会被释放。引用所引用的地址就没有了。
2.不能返回内部用new分配的内存的引用。因为new了之后,没有delete,所以,会导致内存泄漏。
3.返回静态对象的引用要视情况而定。静态对象只初始化一次,如果有比较的出现,如if((a+b)==(b+c)),会导致条件一直成立。显然这并不是我们要的结果。
返回引用的好处:
可以实现连续的输入,输出,赋值等;
如:>> << operator=;
1.不能返回局部变量的引用。局部变量是在栈里面创建的,函数调用完,就会被释放。引用所引用的地址就没有了。
2.不能返回内部用new分配的内存的引用。因为new了之后,没有delete,所以,会导致内存泄漏。
3.返回静态对象的引用要视情况而定。静态对象只初始化一次,如果有比较的出现,如if((a+b)==(b+c)),会导致条件一直成立。显然这并不是我们要的结果。
返回引用的好处:
可以实现连续的输入,输出,赋值等;
如:>> << operator=;