- 博客(1)
- 收藏
- 关注
原创 C++中有些运算符重载为什么要返回引用
str3只得到了str1的内容,并没有得到str2的内容,这是因为执行(str3=str1)后,因为返回的是对象(一个临时对象,str3的一个拷贝),不是引用,所以此时str3不在后面的‘=str2’的操作中,而是str2对一个临时对象赋值,所以str3的内容保持不变(等于str1)。需要返回对象引用或者返回对象(效率没有返回引用高),需要实现连续赋值,使重载的运算符更符合C++本身的运算符语意,如连续赋值 = += -= *= 、=,<<输出流。//运算符重载,此时返回的是对象。
2023-09-23 10:44:44
535
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人