摘要:
看一些有关位操作的知识,这里为了方便说明,拿short(16位)作为例子:先说signed short带符号的,表示的范围是-215~215-1也就是-32768~32767。那么对于下面的代码:short a = -32768;a = a - 1; 这里的a的最后值是多少呢?先看a=-32768... 阅读全文
摘要:
由于socket recv()方法是堵塞式的,当多个客户端连接服务器时,其中一个socket的recv调用时,会产生堵塞,使其他连接不能继续。如果想改变这种一直等下去的焦急状态,可以多线程来实现(不再等待,同时去recv,同时阻塞),每个socket连接使用一个线程,这样效率十分低下,根本不可能应对... 阅读全文
摘要:
求最大公约数的最常用的算法是欧几里得算法,也称为辗转相除法。问题定义为求i和j的最大公约数gcd(i,j),其中i和j是整数,不妨设i>j。算法可以递归的表示:1.如果j能整除i,那么gcd(i,j)=j;2.j不能整除i,令r=i%j,那么gcd(i,j)=gcd(j,r). 上面的算法对于i=... 阅读全文
摘要:
开篇先说这道面试题:class ClassA{ public: virtual ~ ClassA() { } virtual void FunctionA() { }};class ClassB{ public: virtual void Fun... 阅读全文
摘要:
MAC地址对于每一台设备是全球唯一的,该地址被烧录在网卡的硬件电路上。MAC地址由12位十六进制数表示,其中前6位标识网卡的制造厂商,后6位是网卡的序列号。在以太网中,一个主机要和另一个主机进行通信,必须知道知道目标主机的的MAC地址。什么是ARP,它用来将IP地址映射到MAC地址,以便设备能在多路... 阅读全文
摘要:
ICMP经常被认为是IP层的一个组成部分。它携带于IP数据包中,ICMP封装在IP数据包内部:IP首部ICMP数据包下面是一份差错报文的例子:最右边的+或者-代表该报文是查询报文还是错误报文。ICMP的功能介绍:ICMP定义了一套差错报文和查询报文,用于主机与路由器之间交换不可达目的地址、网络拥塞、... 阅读全文
摘要:
首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换。第1部分. 相关概念解释上行转换(up-casting):把子类的指针或引用转换成基类表示。下行转换(down-casting):把基类指针或引用转换成子类表示。类型转换不安全性来源于两个方面: 其一是类型的窄化转化,会导致... 阅读全文
摘要:
有关这方面的问题,首先说一点:回调函数必须是静态成员函数或者全局函数来实现回调函数,大概原因是普通的C++成员函数都隐含了一个函数参数,即this指针,C++通过传递this指针给成员函数从而实现函数可以访问类的特定对象的数据成员。由于this指针的原因,使得一个普通成员函数作为回调函数时就会因为隐... 阅读全文