cpp / 拷贝构造函数的参数为什么必须使用引用类型 -ag凯发k8国际
ag凯发k8国际
收集整理的这篇文章主要介绍了
cpp / 拷贝构造函数的参数为什么必须使用引用类型
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
表面原因:编译器无法通过,会报如下错误:
error: invalid constructor; you probably meant ‘cexample (const cexample&)’cexample(cexample ex) //拷贝构造函数深层次原因是避免拷贝构造函数无限制的递归下去。
栗子:
#include假设拷贝构造函数是传值的,那么在执行如下代码:
cexample ccc = aaa;会将 aaa 传值到形参,此时构造形参实例时会调用拷贝构造函数,这就造成了无限地构造下去,直至堆栈耗尽,所以为了避免这个问题的发生,直接从编译器的角度禁用了该问题。
参考:拷贝构造函数的参数为什么必须使用引用类型_『小猪呼噜噜』的专栏 -- i write,therefore i am.-csdn博客_拷贝构造函数的参数
(saw:game over!)
总结
以上是ag凯发k8国际为你收集整理的cpp / 拷贝构造函数的参数为什么必须使用引用类型的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: