在有效的现代C++,项目17 (理解特殊成员函数生成)中,Scott说生成的特殊移动成员函数(移动构造函数和移动赋值操作符)对类的非静态数据成员执行“成员级移动”。
只有在需要移动操作的情况下才会生成移动操作,如果它们是生成的,则对类的非静态数据成员执行“成员级移动”。
我试着理解非静态的情况,但我不能,有人能向我解释为什么他们不能在静态数据成员上执行这个任务吗?
发布于 2018-03-01 09:29:02
因为静态成员不是该类创建的对象的一部分。尽管它们不需要被移动(或者在复制构造函数的情况下复制)。
发布于 2018-03-01 09:28:47
我认为它只是指静态成员,如下所示:
struct A{
static int s; // static member, (not moved or copied when moving/copying an instance
int w; // non-static member
};https://stackoverflow.com/questions/49046476
复制相似问题