VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3866|回复: 24

为什么复制构造函数的形参必须设置为引用类型?

[复制链接]

2

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-7 19:30:01 | 显示全部楼层 |阅读模式
为什么复制构造函数的形参必须设置为引用类型?
如:
demo::demo(const demo &object)
{
}

demo::demo(const demo object)
{
}
就无法工作呢?
回复

使用道具 举报

2

主题

54

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-3-29 10:30:02 | 显示全部楼层
会导致无穷递归
回复

使用道具 举报

2

主题

54

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-3-29 13:15:01 | 显示全部楼层
因为参数传递的时候
如适应传递对象而不是引用的话,形参和实参结合就会用到拷贝构造函数
导致无穷递归
回复

使用道具 举报

2

主题

54

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-3-29 15:00:01 | 显示全部楼层
个人意见,高手多多指教
回复

使用道具 举报

2

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-29 20:30:01 | 显示全部楼层
你说的我还是不明白
回复

使用道具 举报

0

主题

37

帖子

28.00

积分

新手上路

Rank: 1

积分
28.00
发表于 2020-3-29 21:00:01 | 显示全部楼层
无穷递归
回复

使用道具 举报

0

主题

15

帖子

13.00

积分

新手上路

Rank: 1

积分
13.00
发表于 2020-3-30 13:45:01 | 显示全部楼层
引用保证你传进来的是一个对象
回复

使用道具 举报

0

主题

37

帖子

28.00

积分

新手上路

Rank: 1

积分
28.00
发表于 2020-3-30 15:15:01 | 显示全部楼层
因为以一个对象为参数的时候会调用拷贝构造函数,如果拷贝构造函数以对象为参数,它就会调用自身。
回复

使用道具 举报

0

主题

9

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-3-30 17:15:01 | 显示全部楼层
因为常引用不产生副作用.看起来又直接
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-3-31 17:00:01 | 显示全部楼层
因爲參數是值傳遞
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表