原型模式涉及一个浅复制和深复制的概念。原型模式可以简单理解为“复制”,但这个复制不是代码的复制。对同一个类,我们可以实例化new三次来“复制”,但如果在初始化的时候构造函数的执行很长,多次实例化就显得效率很低效了。那我们能否只实例化一次,然后“复制”呢? 这样写吗?注意这是引用的复制,这实际上还是只 ...
分类:
其他好文 时间:
2016-09-17 23:47:21
阅读次数:
195
一、深复制与浅复制基本知识 深复制和浅复制,又称为深拷贝和浅拷贝。 深复制和浅复制的区别如下图1所示: 图1 图1表示的是,定义一个类CDemo,包含int a和char *str两个成员变量, 当深复制时,A中的指针str与B中的指针str指向不同的地址,只是地址所指向的数据相同。 当浅复制时,A ...
分类:
编程语言 时间:
2016-09-09 00:44:24
阅读次数:
294
浅复制:被复制对象的所有变量都包含有与原对象相同的值,而所有的对其他对象的引用仍指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 深复制:被复制对象的所有变量都包含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量指向被复制过来的新对象,而不再是原 ...
分类:
其他好文 时间:
2016-09-07 14:21:32
阅读次数:
113
List 0. 深复制与浅复制, NSObject万能指针、id指针、instancetype区别,单例import、include、@class的区别 strong 与 weak 区别 #define 和 typedef的区别, static 与 extern 区别,@required与@opti ...
分类:
其他好文 时间:
2016-09-01 02:09:02
阅读次数:
225
http://javatechniques.com/blog/faster-deep-copies-of-java-objects/ http://javatechniques.com/blog/low-memory-deep-copy-technique-for-java-objects/ ...
分类:
编程语言 时间:
2016-08-25 21:08:41
阅读次数:
138
1、对于非容器对象(NSString) 不可变 (NSString) copy :浅复制,指针指向 mutableCopy:深复制,生成可变字符串对象 可变(NSMutableString) copy: 深复制,生成不可变字符串对象 mutableCopy :深复制,生成可变字符串对象 2、对于容器 ...
分类:
移动开发 时间:
2016-08-23 11:28:44
阅读次数:
286
43. 继承的几种方式: 答:共有继承public,保护继承protected,私有继承private。其中后两种继承会改变原有的访问级别。 44. 深复制与浅复制: 答:简单理解,深复制自己申请了内存,浅复制直接把地址抄了过去。 45. C++是否支持参数个数不确定: 答:支持,可以使用隐藏参数机 ...
分类:
编程语言 时间:
2016-08-21 21:16:09
阅读次数:
287
要区分浅复制与深复制,首先我们要明确什么是复制,怎样才算是复制。复制的例子在生活中也随处可见,如复印一份文档,复制一段文字等。我们可以发现,复制操作后可以得到两份相同的东西,即复制由一变为二了 ...
分类:
编程语言 时间:
2016-08-14 07:57:35
阅读次数:
230
常见问题 Q1. 下面代码的输出结果是( )? A. a a a B. a a a a C. a a D. a Q2. 为什么拷贝构造函数的参数是一个引用,可以不是引用吗? Q3. 什么是深复制?什么是浅复制? 复制构造函数 1. 复制构造函数 只有单个形参,而且该形参是对本类类型对象的引用(常用c ...
分类:
编程语言 时间:
2016-08-09 09:24:19
阅读次数:
152