问NSString属性声明中的copy和retain具体区别
copy是将源对象release然后新对象copy在付给源对象
retain是将源对象release然后新对象retain再付给源对象
根本区别就是对象进行深拷贝时copy要开辟新的存储空间,浅拷贝时效果相同。引用计数方面retain是源对象引用计数加1,copy当
是浅复制时源对象引用计数加1,深复制时...
分类:
其他好文 时间:
2015-04-24 14:24:28
阅读次数:
106
浅复制示例代码:
NSMutableArray *mArray = [NSMutableArray arrayWithObjects:
[NSMutableString stringWithString: @"origionA"],
[NSMutableString s...
分类:
移动开发 时间:
2015-04-23 17:37:39
阅读次数:
141
#include
#include
using namespace std;
class A
{
private:
char *a;
public:
A(char *aa)
{
a = new char[strlen(aa)+1];
strcpy(a,aa);
}
A(A &b)
{
...
分类:
其他好文 时间:
2015-04-22 09:37:05
阅读次数:
136
【项目2-我的数组类】
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;
(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAdd...
分类:
编程语言 时间:
2015-04-22 09:37:01
阅读次数:
115
一.浅克隆和深克隆的概念:
1).浅克隆:又称为浅复制,被复制的对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换而言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。
2).深克隆:又称为深复制,被复制的对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而...
分类:
编程语言 时间:
2015-04-19 16:14:46
阅读次数:
240
一些常用接口:clone(): 得到位图数据的拷贝;用途:深复制位图draw(source :IBitmapDrawable...): source 要绘制到 BitmapData 对象的显示对象或 BitmapData 对象。(DisplayObject 和 BitmapData 类实现 IBit...
分类:
其他好文 时间:
2015-04-17 17:57:46
阅读次数:
133
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;
(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间中;
(3)...
分类:
编程语言 时间:
2015-04-16 22:02:04
阅读次数:
179
(1)阅读下面的程序,补足未完成的注释
#include
#include
using namespace std;
class A
{
private:
char *a;
public:
A(char *aa)
{
a = new char[strlen(aa)+1]; //(a)这样处理的意义在于:开辟一个新的空间用来存储数据
str...
分类:
其他好文 时间:
2015-04-16 19:53:26
阅读次数:
112
1.myList.cloneNode(true); 在参数为true的情况下,执行深复制,也就是复制节点及其整个子节点树,包括属性2. myList.cloneNode(false); 在参数为false 的情况下,执行浅复制,即只复制节点本身,包括属性 cloneNode()方法不会复制添加到D....
分类:
Web程序 时间:
2015-04-16 19:09:25
阅读次数:
183
【项目1-深复制体验】
(1)阅读下面的程序,补足未完成的注释
#include
#include
using namespace std;
class A
{
private:
char *a;
public:
A(char *aa)
{
a = new char[strlen(aa)+1]; //(a)这样处理的意义在于...
分类:
其他好文 时间:
2015-04-15 09:39:45
阅读次数:
132