[英]What does the operator reassign function/construction return?
我有以下功能/構造函數/方法(我不確定確切是什么)
List<T>& List<T>::operator=(const List<T> &x)
其中List是一個鏈表,應該進行分配。 但是,我不確定這應該返回什么。 Eclipse不斷告訴我,控制到達了非void函數的末尾。 但是,我不確定到底是什么。 我是C ++的新手,因此盡可能簡單地回答。 謝謝 :)
通常,賦值運算符返回對對象本身的引用,因此只需以return *this;
結束函數即可return *this;
。 具有賦值表達式並具有受讓人的值,您就可以編寫類似a = b = c;
東西a = b = c;
以及if ((a = get_data()) == c)
等
它是List<T>
類的重載=
運算符,它應返回對該類類型的引用。 返回引用允許返回值充當l值,並允許其在鏈接調用中使用,例如:
a = b = c;
您應該返回一個*this
。
解釋是什么:
List<T>& List<T>::operator = (const List<T> &x)
^^^^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^^^^^^^^^^^^^^^ <------------- Parameter being passed to =
Return Type | | |
| | |<------------- operator being overloaded
| Keyword operator
Class whose operator is being overloaded
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.