对象的复制和引用

Posted jameflight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象的复制和引用相关的知识,希望对你有一定的参考价值。

1 对象的引用:
  对象的引用其实就是对同一个对象进行操作,只是在原对象的基础上进行操作

  例如:
  void fun(box &T){

    box.length ++;

  }

2 对象的复制

  而对象的复制就是创建一个新的对象,把一个对象的值赋值给这个新对象,赋值的

  过程中首先调用复制构造函数  Box::Box(const Box&b)

                {

                   height = b.height;

                    width = b.width;

                   length = b.length;

                }把传入对象的值赋给新创建的对象

凡是对象的拷贝或者是对象传参都会用到对象复制函数(就是重新创建一个和以前一样的对象)

3 对象的函数调用

  返回值是对象

  box fun(box T)

  {

    return T;

  }

  int main()

  {

    box T;

    box T2;//创建一个新变量

    T2 = T.fun(); //返回值赋值

  }

 

以上是关于对象的复制和引用的主要内容,如果未能解决你的问题,请参考以下文章

深复制与浅复制

Java中的“浅复制”与“深复制”

浅谈java浅拷贝和深拷贝

深拷贝(deep clone)与浅拷贝(shallow clone)

何时复制 C# 值/对象,何时复制其引用?

python的复制,深拷贝和浅拷贝的区别