- 博客(20)
- 资源 (5)
- 收藏
- 关注
原创 UDP通信之线程实现
比较:窗口通信的不足之处:窗口部件主要处理大量的用户界面信息,当有耗时的处理过程时,会影响数据接收,造成丢帧。 线程通信的好处:通常使用独立的线程负责网络数据的发送和接收,在通过窗口部件进行数据显示,在实时系统同这种应用十分广泛。基于线程实现UDP数据的收发:step1:新建窗口程序工程,添加发送数据线程类SendThread和接收数据线程类RecvThread,均继承QT
2017-07-28 15:32:54 968
原创 UDP通信之窗口实现
UDP面向窗口通信的简单实现介绍:UDP数据报文协议是面向无连接的传输层报文协议。UDP主要用在强调实时,主动推送的系统中,不存在“粘包”情况。1.新建界面工程,添加列表部件,用于显示和接收数据2.在头文件中,添加包含QNetwordInterface,QHostAddress,QudpSocket模块,添加网络数据报文的结构定义,重载的timerEvent定义,添加接收数据报
2017-07-28 11:45:20 1664
转载 如何提高代码的执行效率--c++
一、尽量减少值传递,多用引用来传递参数。其中的原因,相信大家也很清楚,如果参数是int等语言自定义的类型可能能性能的影响还不是很大,但是如果参数是一个类的对象,那么其效率问题就不言而喻了。例如一个判断两个字符串是否相等的函数,其声明如下:bool Compare(string s1, string s2)bool Compare(string *s1, string *s2)boo
2017-07-18 10:24:08 992
转载 STL学习笔记15— —算法
简介算法库定义了用来实现各种功能的函数(如查找、排序、计数、修改等),都是针对指定范围内元素的操作。需要注意的是,元素的范围以 [first, last) 的形式指定,其中 last 指的是范围内最后一个元素的下一个元素。在头文件 中定义。非变动性算法for_each() //对每个元素执行某个操作 count() //返回某元素的数量count_if() //返回满足特定
2017-07-18 10:14:10 193
转载 STL学习笔记14— —迭代器
头文件所有的容器都定义了自己的迭代器类型,所以一般情况下,不需要再自己添加迭代器头文件。但是如果要使用一些特殊的迭代器,如反向迭代器,或者一些迭代器辅助函数,那么就需要添加头文件。迭代器类型类型能力提供者输入迭代器一次向前读取istream输出迭代器向前写入ostream,inserter前向迭代器向前
2017-07-18 10:13:17 202
转载 STL学习笔记13— —特殊容器priority_queue
简介在头文件 中定义namespace std { template typename T, typename Container = vector, typename Compare = lesstypename Container::value_type>> class priority_queue;}
2017-07-18 10:12:26 195
转载 STL学习笔记12— —特殊容器queue
简介在头文件 中定义namespace std { template typename T, typename Container = deque> class queue;}12341234queue就是数据结构里队列的实现,先进先出。定义中的第二个参数用来定义queue内部存放元素的实际容器,可以是任何序列式容器,默认容器为deque。实际上queue也只是很单
2017-07-17 15:02:39 167
转载 STL学习笔记11— —特殊容器stack
简介在头文件 中定义namespace std { template typename T, typename Container = deque> class stack;}12341234stack就是数据结构里堆栈的实现,后进先出。定义中的第二个参数用来定义stack内部存放元素的实际容器,可以是任何序列式容器,默认容器为deque,是因为其删除元素会自动释放内存,还
2017-07-17 15:01:42 194
转载 STL学习笔记10— —容器的选用
默认情况下,选用vector,内部数据结构最简单,允许随机存取。如果经常要在序列头部和尾部插入和删除元素,应该使用deque。如果希望元素被删除时,容器能自动缩减内存,那么也要选deque。此外,由于vector通常采用一个内存块存放元素,而deque采用多个内存块,后者可包含更多元素。如果需要经常在容器中段执行元素的插入、删除或移动,可考虑list。list提供特殊成员函数,可在常数时间
2017-07-17 14:59:40 155
转载 STL学习笔记9— —无序容器(Unordered Container)
简介在头文件和 中定义namespace std { template typename T, typename Hash = hash, typename EqPred = equal_to, typename Allocator = allocator > class unordered_
2017-07-17 14:58:42 303
转载 STL学习笔记8— —容器map和multimap
简介在头文件 中定义namespace std { template typename Key, typename T, typename Compare = less, typename Allocator = allocatorconst Key,T> > > class map; template ty
2017-07-17 14:58:02 280
转载 STL学习笔记7— —容器set和multiset
简介在头文件 中定义namespace std { template typename T, typename Compare = less, typename Allocator = allocator > class set; template typename T, typena
2017-07-17 14:56:58 174
转载 STL学习笔记6— —容器forward_list
简介在头文件 中定义namespace std { template typename T, typename Allocator = allocator >class forward_forward_list;}123456123456单向列表是一个容器,支持在其任何地方快速插入和删除元素,不支持快速的随机访问。它被实现为单向链表,和C中它的实
2017-07-17 14:54:53 342
转载 STL学习笔记5— —容器list
简介在头文件 中定义namespace std { template typename T, typename Allocator = allocator >class list;}123456123456列表是一个容器,它支持任何位置的元素快速插入和删除,不支持快速的随机访问。它被实现为双向的链表。 与forward_list相比,它提供双
2017-07-17 14:53:34 260
转载 STL学习笔记4— —容器deque
简介在头文件 中定义namespace std { template typename T, typename Allocator = allocator >class deque;}123456123456deque(双向队列)是一个索引序列的容器,允许对其头部和尾部进行快速的插入和删除。此外,在deque两端插入和删除并不会使其它元素的指针或引
2017-07-17 14:19:39 322
转载 STL学习笔记3— —容器vector
简介在头文件 中定义namespace std { template typename T, typename Allocator = allocator >class vector;}123456123456vector 是一种序列容器,是对大小可变数组的封装。数组中的元素是连续存储的,所以除了能够通过迭代器访问外,还可以通过常规的指针偏
2017-07-17 14:17:51 243
转载 STL学习笔记2— —容器array
STL学习笔记— —容器array 标签: stl<a href="http://www.csdn.net/tag/c%2
2017-07-17 11:43:49 202
转载 STL学习笔记1— —STL简述
STL(Standard Template Library)里有很多组成部分,但是主要有三个,容器、迭代器和算法容器用来管理某个特定对象的集合。每一种容器都有自己的优点和缺点,在项目中根据不同的需求,使用不同的容器。容器可以是数组、链表或者类字典。迭代器用于遍历对象集合的元素。这些集合可以是容器或容器的子集。每一个容器类都提供了它自己的迭代器类型。 算法用来处理的元素的集合。例
2017-07-12 17:40:47 215
原创 命名空间namespace小结
C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字。比如你定义了一个变量string user_name, 有可能在你调用的某个库文件或另外的程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、
2017-07-12 16:14:28 407
转载 模态对话框和非模态对话框区别
MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。 一、模态对话框(model dialog box) 在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。 点击模态对话框中的OK按钮,模态对话框会被销毁。
2017-07-12 11:47:27 5839
jdk_8.0.1310.11_64.zip
2020-02-26
MQTT apache-apollo-1.7.1-windows-distro.zip
2020-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人