标签:tcp传输 清零 术语 swap wap 效率 实时 mem 行操作
仅传递参数的值,函数内操作的是形参,不对实参进行操作,
函数声明:
void swap(int px,int py) { int tmp = px; px = py; py = tmp; }
函数调用:
int a,b; swap(a,b);
地址传递,传递的是地址,函数内部的操作会改变实参。
函数声明:
void swap(int *px,int *py) { int tmp = *px; * px =* py; *py = tmp; }
函数调用:
int a,b; swap2(&a, &b);
引用是变量的别名,传递的是地址,函数内部的操作会改变实参。
函数声明:
void swap(int px,int py) { int tmp = px; px = py; py = tmp; }
函数调用:
int a,b; swap2(a, b);
引用是对象的别名,不能为空,定义一个引用的时候,必须初始化
引用是不能改变的指针,更安全,
称作常量指针,以*作为分割边界,const在左,则表示指针所指数据是常量。
*p是常量,不能将*p作为左值进行操作,
称作指针常量,表示该指针本身是常量,
p是常量。
需要的时候分配,不需要的时候自动清除的变量储存区,存放局部变量和函数
new分配的内存块,和delete相对应
malloc分配的内存区,和堆很相似
全局和静态变量储存区
常量储存区
static成员变量无论你创建多少个对象就只有唯一的变量,只分配一次地址。
普通成员变量你创建一个对象就有一个副本。
属于类不属于对象。
不用定义对象可以调用,但是只能调用静态成员。
静态的成员函数不能访问类中的非静态成员。
TCP连接,三次握手,
UDP不用连接,用于广播,
TCP数据可靠安全
UDP不保证可靠
TCP传输效率相对较低。
UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。
TCP连接只能是点到点、一对一的。
UDP支持一对一,一对多,多对一和多对多的交互通信。
操作的都是字节,这一点很重要
memcpy用于资源内存(src指向的内存)拷贝到目标内存(desc指向的内存)
void *Mem_copy(void *dst,const void *src, int n) { if (dst == NULL || src == NULL || n < 1) return NULL; char *Dst = (char *)dst; char *Src = (char *)src; while (n > 0) { *Dst++ = *Src++; n--; } return dst; }
memset都是字节操作,这是重点,它是对较大的结构体或数组进行清零操作的一种最快方法.
void *Mem_set(void *dst, int val, int n) { if (dst == NULL || n < 1) return NULL; char *Dst = (char *)dst; while (n > 0) { *Dst++ = val; n--; } return dst; }
未完待续。。。
标签:tcp传输 清零 术语 swap wap 效率 实时 mem 行操作
原文地址:https://www.cnblogs.com/jxLuTech/p/11072765.html