- 博客(6)
- 资源 (5)
- 收藏
- 关注
原创 TCP协议
TCP报头源端口号/目的端口号: 表示数据从哪个进程来, 到哪个进程去.32位序号:4位首部长度: 表示该tcp报头有多少个4字节(32个bit)6位保留: 顾名思义, 先保留着, 以防万一6位标志位:URG: 标识紧急指针是否有效ACK: 标识确认序号是否有效PSH: 用来提示接收端应用程序立刻将数据从tcp缓冲区读走RST: 要求重新建立连接. 我们把含有RST标识的报文称为复位报文段SYN: 请求建立连接. 我们把含有SYN标识的报文称为同步报文段FIN: 通知对端, 本端即将
2020-07-12 14:19:00 188
原创 C++数组,引用,指针的问题
数组的引用与引用的数组数组的引用:对数组的一个别名,示例:int array[2]={1, 2};int (&a)[2]= array;其中,a为引用,引用对象为array,注意引用必须初始化。引用的数组:这是不合法的,因为引用不支持传统意义的复制,其本身并不占内存,而数组是会占内存的,其次引用必须初始化,而数组中的元素不能同时初始化,数组也不能被另一个数组初始化或被另一个数组赋值。所以引用的数组是错误的。数组的指针与指针的数组这个定义很好理解和区分,只需注意写法:数组的指针:int
2020-07-12 13:18:27 184
原创 c11右值与移动语义
左值和右值:## 标题左值具名,对应指定内存域,可访问;右值不具名,不对应内存域,不可访问;临时对像是右值,左值可处于等号左边,右值只能放在等号右边,区分表达式的左右值属性有一个简便方法:若可对表达式用 & 符取址,则为左值,否则为右值。右值引用:## 标题在 C++11 之前,右值是不能被引用的,最大限度就是用常量引用绑定一个右值,如 :const int &a = 1; 在这种情况下,右值不能被修改的。但是实际上右值是可以被修改的,既然右值可以被修改,那么就可以实现右值引用。C1
2020-07-12 13:11:59 589
原创 C++智能指针
std::shared_ptr## 标题std::shared_ptr使用引用计数. 每一个shared_ptr的拷贝都指向相同的内存。 在最后一个shared_ptr析构的时候, 内存才会被释。初始化示例:std::shared_ptr<int> p(new int(2));std::shared_ptr<int> p4(new int, std::default_delete<int>()); //第二个参数为删除器,可定制化删除对象std::shared_
2020-07-12 12:12:32 132
原创 map和unorder_map
unordered_map/unordered_set/unordered_multimap/unordered_multisetmap/multimap/set/multisetmap:原型:template<class _Kty, // key typeclass _Ty, // mapped typeclass _Pr = less<_Kty>, // key compareclass _Alloc = allocator<
2020-07-12 11:52:23 182
原创 关于函数指针、Lambda表达式和std::function
一、函数指针## 标题函数指针定义与初始化:int add(int nLeft,int nRight);//函数定义 int (*pf)(int,int);//未初始化 pf = add;//通过赋值使得函数指针指向某具体函数 注意函数名的括号(pf)必不可少,否则就声明成为返回int的函数。亦可使用typedef进行声明和定义:typedef int (*PF)(int,int); PF pf;//此时,为指向某种类型函数的函数指针类型,而不是具体指针,用它可定义具体指针函数指针作
2020-07-12 11:29:59 1583
MFC构建简单GIS软件
2012-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人