2018年9月12日
摘要: 1、const函数 和 非const函数 是重载函数; 2、调用的时候怎么确认调用的是哪一个呢? (1)非const对象,优先调用的是非const函数,如果非const函数不存在,则调用const函数 (2)const对象,只能调用const函数。 const成员函数内部,不能调用非const成员函 阅读全文
posted @ 2018-09-12 23:11 Love流浪的猪 阅读(2615) 评论(0) 推荐(0) 编辑
摘要: 1、函数后面跟throw(),表示该函数不会抛出异常 2、函数后面跟throw(...),表示该函数可能会抛出任何形式的异常 3、函数后面跟throw(int),表示该函数只抛出int类型的异常 阅读全文
posted @ 2018-09-12 22:51 Love流浪的猪 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 一、构造函数抛出异常 1、通知对象构造失败的唯一方法,就是在构造函数中抛出异常 2、构造函数抛出异常后,该对象的析构函数将不被执行;如果其有基类,则基类的析构函数会被执行;、 构造函数的执行顺序:基类 ——> 子类 析构函数的执行顺序:子类 ——> 基类 二、析构函数抛出异常 1、类的成员函数如果出 阅读全文
posted @ 2018-09-12 22:48 Love流浪的猪 阅读(833) 评论(0) 推荐(0) 编辑
摘要: 1、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占 阅读全文
posted @ 2018-09-12 22:10 Love流浪的猪 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 服务器端: WSAStartup socket bind listen accept {recv。。。send} closesocket WSACleanup(); 客户端: WSAStartup socket connect send。。。recv closesocket WSACleanup() 阅读全文
posted @ 2018-09-12 21:24 Love流浪的猪 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 原因大致有以下几种: 1、所属线程忘了释放锁, 建议使用 autolock (封装类的构造函数中上锁,析构函数中释放锁) 2、线程中使用了嵌套锁(2个或2个以上的锁) 3、owningthread 被动的原因无法释放锁,比如 1)、使用开源库,异常时直接ExitThread。 2)、使用了 __tr 阅读全文
posted @ 2018-09-12 00:10 Love流浪的猪 阅读(981) 评论(0) 推荐(0) 编辑