赋值运算符

C++程式语言里,设定运算子英文assignment operator)是用等号 = 符号。就像其他的C++运算子一样,它可以作为多载

复制设定运算子是一个特别的设定运算子,通常是用来把已存在的物件指定给其他相同类别的物件。它是一个特别的成员函式,如果程式设计师没有定义这个成员函式,那么编译器会自动地产生这个成员函式。编译器产生的程式码是以单一成员进行物件复制的动作。

复制设定运算子,这个成员函式与复制建构子的相异点在于,它一定会清除目标物件的资料成员(以及确实掌控自我设值的动作),而复制建构子不会初始化类别的资料成员。[1]

以下是原始码的范例:

My_Array first;           // 由預設建構子做初始化動作
My_Array second(first);   // 由複製建構子做初始化動作
My_Array third = first;   // 這個也是由複製建構子做初始化動作
second = third;           // 由複製設定運算子做設定的動作

相关条目

参考资料

  1. ^ 比雅尼, 史特劳斯特鲁普. The C++ Programming Language 3rd Edition. Addison-Wesley. 2000: 244. ISBN 978-0201700732.