我发现自己正在做的一件常见事情是制作“几乎默认”的复制构造函数和赋值运算符。也就是说,我发现自己在编译器提供的复制和赋值操作符适用于大多数数据成员的情况下,但是有一个特定的数据成员需要以不同的方式处理。这意味着我必须显式创建一个拷贝构造函数/赋值运算符,包括明确列出所有具有简单复制语义的数据成员。这对于有相当数量的数据成员的类,或稍后在添加成员变量但未添加到复制构造函数/赋值运算符时会变得烦人。C++中的“几乎默认”复制构造函数(&赋值运算符)
有什么方法可以告诉C++编译器:显式声明的拷贝构造函数/赋值运算符应该像隐式运算一样运行,除了一些额外的代码之后运行吗? (并且是C++ 98兼容的语法,还是需要C++ 11或C++ 14支持?)
为该数据成员实现适当的RAII包装,然后默认的构造函数将适用于所有内容。 –