日常笔记
日常积累
drouin
这个作者很懒,什么都没留下…
展开
-
静态成员变量与函数调用
定义静态成员变量初始化为函数调用,重点是最后的圆括号。原创 2022-09-06 14:39:53 · 183 阅读 · 1 评论 -
TCP和UDP的区别
TCP是面向连接的运输层协议 udp是无连接的、每一天tcp链接只能有两个端点 UDP支持一对一 一对多 多对一 和多对多 的通信TCP提供可靠支付的服务, UDP使用尽可能最大交付TCP面向字节流 UDP面向报文TCP有拥塞控制 UDP没有拥塞控制TCP首部开销较大最少20个字节 UDP首部开销较小只有8个字节...原创 2021-01-14 21:09:16 · 120 阅读 · 0 评论 -
static 函数 与 普通函数的区别
static 函数 与 普通函数的区别用static修饰的函数 本限定在 本源文件中 不能被本源码文件以外的代码文件调用而普通函数,默认是extern 的,也就是说,可以被其他代码文件调用该函数在函数的返回类型前 加上static ,函数就被定义成为静态函数。 普通函数的定义和声明默认情况下是 extern的,但静态函数只是在声明它的文件中可见 因此可以避免在其他源文件中引起错误 从以上分析可以看出,把局部变量改变为静态变量后是改变了他的存储方式即改变了他的生存期。只在当...原创 2021-01-14 21:08:44 · 1604 阅读 · 1 评论 -
strcpy函数实现
char * my_strcpy(char *dst ,const char *src){ assert(dst != NULL); assert(src != NULL); char* ret = dst ; while ( (*dst++ = *src++ )!= '\0' ) ; return ret ;}//注意到:// 1 检查指针有效性// 2 返回目的指针des// 3 源字符串的末尾'\0' 需要拷贝 ...原创 2021-01-14 21:08:11 · 64 阅读 · 0 评论 -
构造函数(助记)
if(this == &other)//检查自赋值 return * this ;delete [] m_date;// 释放原有的内存资源int length = strlen(other.m_date);m_date = new char[length+ 1];// 对m_data加NULL判断strcpy(m_date,other.m_date);return *this ;// 返回本对象的引用...原创 2021-01-14 21:07:29 · 100 阅读 · 1 评论 -
信号量与互斥量之间的区别
信号量与互斥量之间的区别1 互斥量用于线程的互斥,信号量用于线程的同步互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排他性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的同步是指在互斥的基础上(大多数),通过其他机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现互斥,特别是所有写入资源的情况必定是互斥的。少数情况是直可以允许多个访问者同时访问资源4 互斥量值只能为0、1 ,信号量可以为非负整数...原创 2021-01-14 21:06:17 · 695 阅读 · 0 评论 -
memcpy函数实现
void * my_memcpy(void *dst ,const void *src ,unsigned int count ){ assert(dst); assert(src); void * ret = dst ; if(dst <= src || (char *) dst >= ((char *)src + count )) //源地址和目的地址不重叠,低字节向高字节拷贝 { while (count--) { *(char*)dst = *(char*)s.原创 2021-01-14 21:05:38 · 491 阅读 · 0 评论 -
奇偶(递归)
bool isodd (unsigned n){ return !(iseven(n));}bool iseven (unsigned n){ if(n==0) { return true; } else { return isodd(n-1); }}int man ( ){ cout << isodd(11) << endl; return 0;}原创 2021-01-14 21:04:21 · 219 阅读 · 0 评论 -
bit 赋值
一个bit的赋值只有可能是1 或者是0把a的bit3赋值为1 a |= (0x01 << 3 ); // a或等于 1 左移3位 ,这样保证其他的位不变,bit3被赋值为1把a的bit3清除a &= ~(0x01 << 3 );// a与等于 1 左移3位之后取反 ,这样保证其他的位不变,bit3被清除...原创 2021-01-14 21:03:14 · 2103 阅读 · 1 评论