问题、
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;
(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空...
分类:
编程语言 时间:
2015-04-15 09:38:41
阅读次数:
133
排序算法和查找算法差不多,也涉及到迭代器区间问题,关于该问题的注意事项就不在啰嗦了一、全部排序sort、stable_sortsort是一种不稳定排序,使用时需要包含头文件algorithm默认可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。如果只传入这两...
分类:
编程语言 时间:
2015-04-14 16:13:39
阅读次数:
244
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;
(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间中;
(3)...
分类:
编程语言 时间:
2015-04-14 14:44:51
阅读次数:
132
大家需要了解下面的规则:
1,实例方法里面的self,是对象的首地址。
2,类方法里面的self,是Class。类方法不可以使用实例变量,但可以使用self,因为self不是实例变量。此时.self是Class
尽管在同一个类里面的使用self,但是self却有着不同的解读。在类方法里面的self,可以翻译成class self;在实例方法里面的self,应该被翻译成为object self。在类方法里面的self和实例方法里面的self有着本质上的不同,尽管他们的名字都叫self。...
分类:
其他好文 时间:
2015-04-14 09:56:25
阅读次数:
143
#include
char *reverse_string(char *string)
{
char *ret = string; //保存数组的首地址
char *left = string;//指向数组的第一个字符
char *right; //指向数组的最后一个非'\0'字符
char temp; //临时变量,用于交换
while(*string...
分类:
其他好文 时间:
2015-04-14 00:48:30
阅读次数:
142
当调用对象方法时,编译器都会默认传入一个指向本对象的指针。所以不同的对象都会调用到正确的成员变量。这个指针就是self,它的值就是new时在堆中分配内存的首地址。那么这个self在方法调用时是存储在栈中么?上代码调试来看一下
#import
@interface Person : NSObject
{
int _age;
}
- (void)setAge:(int)age;
- (...
分类:
其他好文 时间:
2015-04-13 23:03:36
阅读次数:
122
1. 数组名 是表示数组空间首地址的指针常量,程序中不允许对常量赋值。如 int a[]; a就是数组名,表示数组控件首地址的指针常量 a = 0;是错误的,不允许对指针常量赋值2.可以通过指针指向一个常量,但是不能通过指针修改常量的内容如:char *p; p = "testing...
分类:
编程语言 时间:
2015-04-13 12:47:42
阅读次数:
144
数组是C语言中的一种数据结构,它可以一次定义一组变量,故而为数组,对数组的操作即可对单个的数组的成员操作,也可使用数组的首地址(arrary[0]的地址)逐个访问。使用数组可先对数组初始化,我们常见的初始化的方式就是逐个赋值,没有赋值的就是系统默认的0(这是对数组初始..
分类:
编程语言 时间:
2015-04-13 07:09:25
阅读次数:
132
(一)内存分配: 栈 数据结构 :用于保存局部变量值,包括: ① 基本数据类型; ② 引用数据类型; 需注意的是: 基本数据类型在栈中保存的就是该变量的实际值, 而引用数据类型保存的是它所指向在堆内存中保存值的首地址。 2. 堆:用来存放动态产生的数据 例:new出来的对象 ,堆只保存属性,不保存....
分类:
其他好文 时间:
2015-04-12 19:17:42
阅读次数:
115
问题及代码
下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:
(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;
(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间...
分类:
编程语言 时间:
2015-04-12 13:28:15
阅读次数:
197