簡體   English   中英

操作員重新分配功能/構造返回什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM