設定運算子
(重定向自赋值运算符)
在C++程式語言裡,設定運算子(英文:assignment operator)是用等號 =
符號。就像其他的C++運算子一樣,它可以作為多載。
複製設定運算子是一個特別的設定運算子,通常是用來把已存在的物件指定給其他相同類別的物件。它是一個特別的成員函式,如果程式設計師沒有定義這個成員函式,那麼編譯器會自動地產生這個成員函式。編譯器產生的程式碼是以單一成員進行物件複製的動作。
複製設定運算子,這個成員函式與複製建構子的相異點在於,它一定會清除目標物件的資料成員(以及確實掌控自我設值的動作),而複製建構子不會初始化類別的資料成員。[1]
以下是原始碼的範例:
My_Array first; // 由預設建構子做初始化動作
My_Array second(first); // 由複製建構子做初始化動作
My_Array third = first; // 這個也是由複製建構子做初始化動作
second = third; // 由複製設定運算子做設定的動作
相關條目
參考資料
- ^ 比雅尼, 史特勞斯特魯普. The C++ Programming Language 3rd Edition. Addison-Wesley. 2000: 244. ISBN 978-0201700732.