为什么opAssign不能为类重载?

Max*_*xpm 3 d operator-overloading design-rationale assignment-operator

该表说,赋值重载只适用于结构,而不是类.这让我感到惊讶.不是A = B无害的语法糖吗?将其限制为结构的设计理由是什么?

dea*_*nix 8

在D中,类通过引用使用.因此,当您执行A = B时,不会复制对象本身,而只是对该对象的引用.

在此过程中没有任何对象被修改.因此,为thoses定义opAssign是没有意义的.