答案是:M& operator=(const M&)
对于const M&的理解如下
- 为什么是引用的形式来进行赋值?
因为既然来进行拷贝或者赋值,那我不希望在函数形参中还是采用值传递,因为值传递还需要复制一份要传的数据,假如这个数据量很大,那么这样很浪费内存,所以采用引用传递,可以不用额外的复制一份数据占用内存空间。并且可以实现和值传递同样的效果。何乐而不为?
- 为什么要使用const来修饰呢?
因为我不想赋值给别人,别人还把我的内容随便给篡改了,也就是防修改的作用
答案是:M& operator=(const M&)
对于const M&的理解如下
因为既然来进行拷贝或者赋值,那我不希望在函数形参中还是采用值传递,因为值传递还需要复制一份要传的数据,假如这个数据量很大,那么这样很浪费内存,所以采用引用传递,可以不用额外的复制一份数据占用内存空间。并且可以实现和值传递同样的效果。何乐而不为?
因为我不想赋值给别人,别人还把我的内容随便给篡改了,也就是防修改的作用