近年来,开源社区与开源组件随着iOS开发而流行起来,我们经常使用别人的代码,别人也会看到你的代码。所以,我们要把代码写得清晰一些...
??
目
录
1
开始学习C++..............................................................................................................
4
1.1
C++的头文件..............................
分类:
编程语言 时间:
2014-08-09 21:37:30
阅读次数:
858
var extendDeep = function(parent,child){ var i, toStr = Object.prototype.toString, astr = '[object Array]'; child = child || {}; for( i in parent)...
分类:
编程语言 时间:
2014-08-08 15:55:16
阅读次数:
263
在Objective-C中对象之间的拷贝分为浅拷贝和深拷贝。说白了,浅拷贝就是拷贝对象的地址,对象里面存的内容仍然是一份,没有新的内存被分配。深拷贝就是重写分配一块内存,然后把另一个对象的内容原封不动的给我拿过来。所以看对象是否为深拷贝还是浅拷贝就得看对象的内存地址,因为OC中用引用计数的方...
分类:
其他好文 时间:
2014-08-08 08:27:35
阅读次数:
322
1. 按值传递
什么是按值传递?
当一个函数通过值的方式获取它的参数时,就包含有一个拷贝的动作。编译器知道如何去进行拷贝。如果参数是自定义类型,则我们还需要提供拷贝构造函数,或者赋值运算符来进行深拷贝。然而,拷贝是需要代价的。在我们使用STL容器时,就存在大量的拷贝代价。当按值传递参数时,会生产临时对象,浪费宝贵的CPU以及内存资源。
需要找到一个减少不必要拷贝的方法。移动语义就...
分类:
移动开发 时间:
2014-08-08 02:04:05
阅读次数:
417
浅拷贝:给对象拷贝一份新的对象。浅拷贝的定义—— 只对值类型(或string)类型分配新的内存地址。深拷贝:给对象拷贝一份全新的对象。深拷贝的定义—— 对值类型分配新的内存地址,引用类型、以及引用类型的内http://blog.csdn.net/lai123wei/article/details/7...
分类:
其他好文 时间:
2014-08-08 01:36:24
阅读次数:
280
Prototype设计模式其实就是利用一个深拷贝的功能,在原有的类中,通过一个clone函数,创建一个新的类,并可以利用好原有的数据。
这样可以轻易clone出多个新的对象操作,而且都有各自的内存空间。
#include
#include
using namespace std;
class MultiData
{
protected:
bool b;
char c;
s...
分类:
其他好文 时间:
2014-08-02 18:28:43
阅读次数:
231
IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象ret...
分类:
其他好文 时间:
2014-07-30 09:46:53
阅读次数:
256
shallow 浅拷贝 Deep深拷贝 1、产生一个新对象,对象的内容与源对象相同2、源对象与新对象使用不同的内存区域3、需要NSCopying 或者NSMutableCopying协议才能使用复制功能?4、Fundation中得基础数据类型如Nsstring、NSNumber 等...
分类:
其他好文 时间:
2014-07-30 00:37:22
阅读次数:
313
import?copy a?=?[1,?2,?3,?4,?[‘a‘,?‘b‘]]??#原始对象 b?=?a??#赋值,传对象的引用 c?=?copy.copy(a)??#对象拷贝,浅拷贝 d?=?copy.deepcopy(a)??#对象拷贝,深拷贝 a.append(5)??...
分类:
编程语言 时间:
2014-07-29 22:13:02
阅读次数:
470