首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >默认的复制构造函数处理常量吗?

默认的复制构造函数处理常量吗?
EN

Stack Overflow用户
提问于 2015-06-16 02:01:13
回答 2查看 1.2K关注 0票数 3

我了解到默认的复制赋值运算符(编辑:已更正,而不是复制构造函数)不能处理常量和引用。因此,如果一个类包含这样的成员,那么编译器将不会为它生成默认的复制构造函数。这个说法正确吗?为什么const不能处理?

此外,如果一个类包含指针作为成员,编译器会生成一个复制构造函数吗?我知道默认的复制构造函数只做浅层复制,但是编译器至少会生成一个复制构造函数,不是吗?

非常感谢您的澄清!

EN

Stack Overflow用户

发布于 2015-06-16 02:08:29

如果没有为类X定义复制构造函数,则会隐式定义复制构造函数。它通常采用X(const X&)形式,但如果成员需要,它也可以是其他单参数形式之一,并且可以定义为已删除。构造函数的行为就像每个成员都是从右侧的相应成员初始化的一样,并且具有一个空的主体。有一些细节,但这只是大体的想法。

由于可以从相同类型的值初始化常量数据成员和引用数据成员,因此此类成员没有什么特殊之处。(不过,任务的情况有所不同。)

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30851933

复制
相关文章

相似问题

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