想问一下matrix::matrix(matrix &a)和matrix::matrix(matrix a)的区别

学习 时间:2026-03-30 10:54:04 阅读:2446
想问一下matrix::matrix(matrix &a)和matrix::matrix(matrix a)的区别如题Matrix::Matrix(Matrix tmp){y=tmp.y;x=tmp.x;M=new int *[y];for(int yy=0;yy

最佳回答

听话的煎饼

害羞的香菇

2026-03-30 10:54:04

首先,这是一个拷贝构造函数。拷贝构造函数的作用就是通过另外一个本类类型的对象来创建一个对象,如果不带&那么调用拷贝构造函数时,而拷贝构造函数本身是值传递,形实结合的时候,又要调用拷贝构造函数,这样就是一个死循环。所以拷贝构造函数的参数一定是引用,不能是对象。

最新回答共有2条回答

  • 英勇的酒窝
    回复
    2026-03-30 10:54:04

    首先,这是一个拷贝构造函数。拷贝构造函数的作用就是通过另外一个本类类型的对象来创建一个对象,如果不带&那么调用拷贝构造函数时,而拷贝构造函数本身是值传递,形实结合的时候,又要调用拷贝构造函数,这样就是一个死循环。所以拷贝构造函数的参数一定是引用,不能是对象。

上一篇 湖南版的

下一篇 六年级·上·数学·数的整除