首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编译器生成的在静态数据成员上移动成员函数

编译器生成的在静态数据成员上移动成员函数
EN

Stack Overflow用户
提问于 2018-03-01 09:25:55
回答 2查看 101关注 0票数 0

在有效的现代C++,项目17 (理解特殊成员函数生成)中,Scott说生成的特殊移动成员函数(移动构造函数和移动赋值操作符)对类的非静态数据成员执行“成员级移动”。

只有在需要移动操作的情况下才会生成移动操作,如果它们是生成的,则对类的非静态数据成员执行“成员级移动”。

我试着理解非静态的情况,但我不能,有人能向我解释为什么他们不能在静态数据成员上执行这个任务吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-01 09:29:02

因为静态成员不是该类创建的对象的一部分。尽管它们不需要被移动(或者在复制构造函数的情况下复制)。

票数 1
EN

Stack Overflow用户

发布于 2018-03-01 09:28:47

我认为它只是指静态成员,如下所示:

代码语言:javascript
运行
复制
struct A{
   static int s; // static member, (not moved or copied when moving/copying an instance
   int w; // non-static member
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49046476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档