在C++编程语言里,赋值运算符(英文:assignment operator)是用等号 =
符号。就像其他的C++运算符一样,它可以作为重载。
复制赋值运算符是一个特别的赋值运算符,通常是用来把已存在的对象指定给其他相同类别的对象。它是一个特别的成员函数,如果程序员没有定义这个成员函数,那么编译器会自动地产生这个成员函数。编译器产生的代码是以单一成员进行对象复制的动作。
复制赋值运算符,这个成员函数与复制构造函数的相异点在于,它一定会清除目标对象的资料成员(以及确实掌控自我设值的动作),而复制构造函数不会初始化类别的资料成员。[1]
以下是源代码的示例:
My_Array first; // 由預設建構子做初始化動作
My_Array second(first); // 由複製建構子做初始化動作
My_Array third = first; // 這個也是由複製建構子做初始化動作
second = third; // 由複製設定運算子做設定的動作
相关条目
参考资料
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.