浅层拷贝与深层拷贝

当类中有指针类型成员变量时要用深层拷贝(重新分配新的内存区),否则由于编译类自动产生的是浅动拷贝,=赋值时两个对象的成员变量会只向同一内存区,则当析构时此内存区会释入两次,导致内存泄漏或程序崩溃。如:class string {private:     char *m_str; public:  ...

2010-03-22 11:34:00

阅读数 403

评论数 0

继承

1.段约束符 Public、Protected、Private2.描述约束符 Public、Private3.描述约束符是Public(子类公有继承父类),则子类可以访问父类的Public、Protected成员,并不改其段约束符类型4.描述约束符是Private(子类私用继承父类),则子类可以访...

2010-03-19 09:44:00

阅读数 207

评论数 0

编写 strcpy 函数

char*strcpy(char*strDest,const char*strSrc){ assert((strDest!=NULL)&&(strSrc!=NULL));//不检查指针的有效性 char* strAddr=strDest; while (*strSrc!=/0) {...

2010-03-17 16:44:00

阅读数 318

评论数 0

cdecl、stdcall、fastcall是什么?哪种可以实现个数不定的入口参数,为什么?

三者都是函数调用的约定。cedel:c declare(c调用约定)的缩写,是c和c++程序的缺省调用方式,规则是,从又向左的顺序压参数入,由调用者把参数弹出栈,对于传入参数的内存栈是由调用者来维护的,正因为如此,只有这种调用方式可以实现个数不定的入口参数(可变参数)。stdcall:是pasca...

2010-03-17 15:09:00

阅读数 1471

评论数 5

运算符重载(实现CString类)

private:            char*m_pdate;public://构造函数CString::CString(){};//拷贝构造CString::CString(const CString& t_cstring){   if(m_pdate!=NULL)      del...

2010-03-17 11:31:00

阅读数 2206

评论数 1

进程间通信的方式!线程同步的方式!

进程间通信的方式:1.消息传递的方式2.内存映射的方式线程同步的方式:1.利用事件对象实现同步(CEvent)2.利用互斥对象实现同步(CMutex)3.利用临界区实现同步(initializeCriticalSection)4.利用信号量实现同步(CreateSemaphore)

2010-03-16 23:53:00

阅读数 419

评论数 0

什么是多态性?

多态性分:重载(OVERLOAD,重载只是函数名相同,返回类型,参数不同,早期匹配)                虚函数(函数必须有完全相同的返回类型和参数表,晚期匹配 ) 虚函数:一般虚函数(基类有函数体有实现,子类可重写也可不重写)            纯虚函数(基类只有函数体没有实现 v...

2010-03-16 22:35:00

阅读数 426

评论数 0

if( boy.有房() and boy.有车() )

 #if 0result love(boy, girl){    if( boy.有房() and boy.有车() )    {        boy.set(nothing);        return girl.嫁给(boy);    }    if( girl.愿意等() )    { ...

2008-07-23 00:14:00

阅读数 778

评论数 0

指针使用前要分配地址空间

学了几年C语言,到现在才明白这一点,惭愧!int* p;int a;p=&a;  //分配地址空间或#define LEN sizeof(int)void main(){  int* p; p=(int*)malloc(LEN); //分配地址空间 *p=1; printf("%...

2007-03-30 15:07:00

阅读数 795

评论数 1

字符与字符串(字符数组)的输入区别

char  c;scanf("%c",&c);char str[5];scanf("%s",str) //因为字符数组名本身代表地址 

2007-03-30 14:51:00

阅读数 712

评论数 0

冒泡排序与选择排序

//起泡法思路:将相邻两个数比较,将小的调到前头#includevoid main(){ int i,j,temp; int array[5]; for(i=0;i {  scanf("%d",&array[i]); } for(i=0;i {  for(j=0;j  ...

2007-03-27 14:30:00

阅读数 631

评论数 0

const与指针(从右向左读)

 const与指针(从右向左读)char*const cp;    cp是一个const指针,指向char型.    指针本身cp值不能修改char const* pc;     pc是一个指针,指向const char型      指针所指的对象*pc值不能修改const char* pc2; ...

2007-03-09 12:11:00

阅读数 840

评论数 0

几种易错的运算符

  几种易错的运算符/   (除法运算符,但舍去小数并”向0取整”,如5/3=1,-5/3=-1)% (求余运算符,%两侧均应为整形数据,如7%5的值为3, 6%3值是0), (逗号运算符)    表达式1,表达式2    求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的...

2007-03-09 12:10:00

阅读数 446

评论数 0

break与continue

  break与continue1.区别:break结束整个循环过程,不再判断执行循环的条件是否成立;        continue只结束本次循环,即跳出循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。2.break只能用于循环语句和switch语句,所以是结束循环语句或switc...

2007-03-09 12:08:00

阅读数 543

评论数 0

内存的分配与释放

 内存的分配与释放void *malloc(unsigned int size)                              new 类型[初值]1必须是指定需要开辟的内存空间大小                                           1不需指定开辟的内...

2007-03-07 22:14:00

阅读数 663

评论数 0

递归函数

递归函数 [ firedy 发表于 2007-1-20 12:54:00 ] ...

2007-03-07 21:16:00

阅读数 1032

评论数 0

Static 一二三

1,static声明局部变量函数调用结束后不消失而保留原值,即其占用的存储单元不释放,下次调用此函数时,该变量已有值,就是上次函数调用结束时的值eg:int f(){       static c=3;       c=c+1;       return (c);}main(){       fo...

2007-03-07 12:10:00

阅读数 504

评论数 0

The Womain Taxi Driver In Cairo二

  Nagat,as she now explains to me,works as a taxi driver serveral days and nights a week.she has another job,working in an office,but detail of it re...

2007-02-27 10:12:00

阅读数 782

评论数 0

The Womain Taxi Driver In Cairo一

 Her name is Nagat.  I fist saw her outside Cairo airport terminia.A woman taxi driver-the only woman,for that matter,among a large crowd of her male...

2007-02-26 11:38:00

阅读数 1832

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭