摘要:
1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2)服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通... 阅读全文
摘要:
sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] ... );除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串上。printf 和sp... 阅读全文
摘要:
1 为了区分C++标准库中的bitset数据结构,在本程序中使用_bitset。 2 3 如果设置_bitset的长度为4,则可操作的位为0-3。 4 5 //_bitset.h 6 7 #ifndef _BITSET_H 8 #define _BITSET_H 9 10... 阅读全文
摘要:
函数名: scanf功 能: 执行格式化输入用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为: s... 阅读全文
摘要:
有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。在本书提供的例子中,假设都使用了std::bitset的u... 阅读全文
摘要:
(转)前言 C++中 的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术 可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTT... 阅读全文
摘要:
C++代码classCNull{}; 长度:1 内存结构: ?? 评注:长度其实为0,这个字节作为内容没有意义,可能每次都不一样。二、空类C++代码classCNull2{public: CNull2(){printf("Construct/n");} ~CNull2(){printf(... 阅读全文
摘要:
如果非要使用函数指针来申请内存空间,那么需要使用指向指针的指针createNode(BinNode**tree,char*p){*tree=(BinNode*)malloc(sizeof(BinNode));}使用二级指针就可以了。还有有另外的一种方案,通过函数返回值传递动态内存:BinNode*c... 阅读全文
摘要:
虚继承是为了在多继承的时候避免引发歧义,比如类A有个就是a,B继承了A,C也继承了A,当D多继承B,C时,就会有歧义产生了,所以要使用虚拟继承避免重复拷贝。虚函数继承是解决多态性的,当用基类指针指向派生类对象的时候,基类指针调用虚函数的时候会自动调用派生类的虚函数,这就是多态性,也叫动态编联虚函数继... 阅读全文
摘要:
void *memset(void *s, int ch, unsigned n);将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针。 char buffer[] = ... 阅读全文
摘要:
C++中substr()函数用法 substr(起始位置,长度);函数assign()常用在给string类变量赋值.常用方法有:1,直接用另一个字符串赋值.如str2.assign(str1);即用str1给str2赋值.2,用另一个字符串的一个子串赋值如str3.assign(str1, 2... 阅读全文