移动赋值运算符:C++ 中的一种特殊赋值运算符重载(operator=),用于把一个将要被销毁的对象(通常是右值)所拥有的资源(如堆内存、文件句柄等)“转移”给另一个已有对象,从而避免昂贵的深拷贝。常见形式:T& operator=(T&&).(除该含义外,assignment operator 一般也可指普通“赋值运算符”。)
/muːv əˈsaɪnmənt ˈɑːpəreɪtər/
Move assignment operator transfers ownership without copying.
移动赋值运算符在不进行拷贝的情况下转移资源所有权。
When you define a custom destructor, you should also consider implementing the move assignment operator to keep resource management safe and efficient.
当你定义了自定义析构函数时,也应考虑实现移动赋值运算符,以确保资源管理既安全又高效。
该术语主要来自 C++11 的“移动语义(move semantics)”。“move”强调转移资源而非复制;“assignment operator”源自运算符重载语境中的 operator=,表示把右侧对象的状态赋给左侧对象。在 C++11 之前主要依赖拷贝赋值;C++11 引入右值引用(T&&)后,“移动赋值运算符”成为高性能资源管理的重要机制。