在 C++11 中,默认函数和已删除函数使你可以显式控制是否自动生成特殊成员函数。已删除的函数还可为您提供简单语言,以防止所有类型的函数的参数中出现有问题的类型提升,这会导致意外的函数调用。这些规则的结果也可能泄漏到对象层次结构中。这些规则可能会使本应直接的内容、用户定义类型和常见 C++ 惯例的实现变得复杂 ― 例如,通过以私有方式复制构造函数和复制赋值运算符,而不定义它们,使用户定义类型不可复制。在 C++11 之前,此代码段是不可复制的类型的惯例形式。但是,它具有几个问题:请注意如何解决与 C++11 之前的惯例有关的问题:请注意,只要特殊成员函数可内联,便可以在类主体外部默认设置它。

详解在C++中显式默认设置的函数和已删除的函数的方法

详解在C++中显式默认设置的函数和已删除的函数的方法

详解在C++中显式默认设置的函数和已删除的函数的方法