Вопросы к Поиску с Алисой
Опасность перегрузки операторов присваивания в C++ заключается в том, что некорректная реализация может привести к неожиданным и непредсказуемым последствиям. tproger.ru Перегруженные операторы должны действовать так же, как и их базовые версии, и не содержать скрытых сюрпризов. tproger.ru
Например, при поверхностном копировании, которое происходит по умолчанию, может возникнуть ошибка двойного освобождения памяти, так как при выходе одного объекта из области видимости выделенная память уже освобождается, а при выходе другого — снова пытается удалиться. www.geeksforgeeks.org Чтобы избежать этого, нужно перегрузить оператор присваивания и выполнить глубокое копирование, то есть выделить новую память и скопировать фактические данные. www.geeksforgeeks.org
Также не рекомендуется делать оператор присваивания виртуальным, так как присваивание по своей сути неполиморфная операция. habr.com
Таким образом, перегрузка операторов должна использоваться только в тех случаях, когда её смысл очевиден и не несёт в себе скрытых сюрпризов. tproger.ru