2013年5月17日

运算符重载

摘要: 运算符重载定义格式返回类型 operator运算符(形式参数表) { 函数体 }参数个数的限定非成员函数: 单目运算符:参数表中只有一个参数; 双目运算符:参数表中只有两个参数成员函数: 单目运算符:参数表中没有参数; 双目运算符:参数表中只有一个参数不能重载的运算符1、不能重载的运算符有: ::, ., .*, ?:2、必须重载为成员函数的运算符: [], (), –>, = 3、在类成员函数中重载运算符是不允许返回引用的,会出现“返回局部变量的地址”警告 4、cout << f1 << f2; //用重载运算符表示,只能通过友员来实现 //如果要用成员函数 阅读全文

posted @ 2013-05-17 17:39 samules 阅读(163) 评论(0) 推荐(0)

责任链模式

摘要: 职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。图如下:单例模式:在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私有对象,三是该类提供了一个静态的共有的函数用于创建或获取它本身的静态私有对象。代码示例:双重锁机制 阅读全文

posted @ 2013-05-17 15:23 samules 阅读(129) 评论(0) 推荐(0)

fork函数

摘要: fork函数的特点概括起来就是“调用一次,返回两次”,在父进程中调用一次,在父进程和子进程中各返回一次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。linux将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间。fork的另一个特性是所有由父进程打开的描述符都被复制到子进程中。父、子进程中相同编号的文件描述符在内核中指向同一个file结构体,也就是说,file结构体的引用计数要增加。1、子进程结束后为什么要进入僵尸状 阅读全文

posted @ 2013-05-17 14:43 samules 阅读(203) 评论(0) 推荐(0)

导航