C++ 中的隐式赋值运算符与默认赋值运算符

Mic*_*aut 6 c++ language-lawyer

在 C++ 中,如果我有一个带有可赋值元素的类/结构,我通常不会提供赋值运算符。但是,还可以选择使用C& operator=(C const&) = default;(在头文件中)将其定义为默认值。

除了显式定义可以使运算符私有或受保护这一事实之外,这两种方法之间是否有任何区别?

对于可以省略或设置为 的其他元素(default例如(复制)构造函数)来说,这是否相同?