- 博客(11)
- 收藏
- 关注
原创 红黑树的基本原理
图片来自:http://blog.youkuaiyun.com/hackbuteer1/article/details/7760584红黑树的特性红黑树是一种平衡二叉树。不过与AVL树非常严格的平衡不同,红黑树是一种局部平衡,确保没有一条路径会比其他路径长出两倍。STL中的关联式容器默认的底层实现都是红黑树。 红黑树遵循以下原则:1. 根节点是黑色2.
2014-08-18 10:34:08
853
转载 void指针
void指针的使用规则: 1.void指针可以指向任意类型的数据,就是说可以用任意类型的指针对void指针对void指针赋值。例如: int *a; void *p; p=a; 如果要将void指针p赋给其他类型的指针,则需要强制类型转换。
2014-04-09 10:36:17
713
转载 extern "C"的作用
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。如某个函数
2014-04-09 10:23:35
543
原创 IPv6包头
IPv6 三个改进点:1 比IPv4更长的地址(128位)2 对头进行了简化——提高了处理数据包的速度3 更好地支持选项,原来某些必选项变成了可选
2014-04-03 23:01:00
3403
原创 IPv4 + NAT
协议版本号:IPv4 还是IPv6报头长度(IHL):因为有可选项,报头长度不确定,因此需要有报头长度,最小值为5服务类型:前6个位标识数据包的服务类别(确认服务和确保服务),后2位用来携带显示拥塞通知信息,比如数据包是否经历了拥塞数据包总长度:最大长度是65535字节数据包标识号:让目的主机确定一个新到达的分段属于于哪一个数据报。同一个数据报的所有段包含同样的标识符。标志1:
2014-04-03 22:57:08
1429
原创 ICMP,ARP,DHCP
ICMP(Internet ControlMessage Protocol):当路由器在处理一个数据包的过程中发生了意外,可通过ICMP向数据包的源端报告有关事件。目的地不可达:当路由器不能定位一个目标,或者当一个设置了DF标志为的数据包由于途中经过一个“小数据包”网络而不能被递交时超时:Traceroute工具,利用这个协议,给目标地址发送一系列的数据包,分别将TTL设置为1
2014-04-03 22:51:51
1774
原创 UDP,TCP头
URG:将URG设置为1时,表明使用了紧急指针(Urgentpointer)ACK:表示确认好字段是有效的PSH:请求接收端一旦受到数据后立即将数据递交给应用程序,而不是将它缓冲起来知道整个缓冲区满为止。RST:重置一个已经变得混乱的连接,混乱有可能是邮局主机奔溃,或者其他什么原因造成的。SYN:用来同时表示CONNECTION REQUEST(ACK=0)和CONNECTION
2014-04-03 22:49:40
574
转载 wchar_t
char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNU Libc规定wchar_t为32位,总之,wchar_t所能表示的字符数远超char型。
2014-04-03 13:13:38
565
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人