摘要: 由导学宝转自:http://blog.csdn.net/xiaolei1982/article/details/2245480今天特意研究下了深拷贝和浅拷贝:首先介绍一下:C#中有两种类型变量,一种 是值类型变量,一种是引用类型变量。对于前者,copy是属于全盘复制;而对于后者,一般的copy只是浅copy,相当于只传递一个引用指针一样。因此 对于后者进行真正copy的时候,也是最费事的,具体的说,必须为其实现ICloneable接口中提供的Clone方法。浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用.深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象. 阅读全文
posted @ 2012-03-02 09:26 导学宝 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 转自http://patmusing.blog.163.com/blog/static/13583496020113191407531/在一个函数的内部,return的时候返回的都是一个拷贝,不管是变量、对象还是指针都是返回拷贝,但是这个拷贝是浅拷贝。1.如果返回一个基本类型的变量,比如:int a;a = 5;return a;那么就会a的一个拷贝,即5返回,然后a就被销毁了。尽管a被销毁了,但它的副本5还是成功地返回了,所以这样做没有问题。2.但是对于非动态分配(new/malloc)得到的指针,像1那么做就会有问题,比如在某个函数内部:int a[] = {1, 2};return a; 阅读全文
posted @ 2012-03-02 09:07 导学宝 阅读(711) 评论(0) 推荐(0) 编辑