自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

转载 c++设计模式之建造者模式

建造者模式:结构:1.产品对象:一类产品的抽象,具体产品的建造应该在具体建造者中实现3.抽象建造者4.具体建造者:对于每种具体产品都应该有一个对应的建造者,其中应该有一个抽象产品对象成员变量5.装配者:建造者对各个零件单独建造,没有顺序,因此,需要早装配者中确定建造顺序优点:1.建造者独立,易扩展缺点:1.产品必须具有相同属性2.产品越多,需要的建造者类也就越多场景:手机有很多,...

2019-01-17 23:09:00 171

转载 c++设计模式之命令模式

命令模式:场景: 对一个对象要进行很多动作,每个动作就是一个命令。在原有的逻辑中,需要在客户端写出许多分支语句,针对内个动作,调用该对象类的成员函数。每增加一个动作,都需要在客户端和对象类中修改代码。违背了高内聚,低耦合的原则。因此,对于这种情况就可以使用命令模式。组成元素: 1.抽象命令类 2.具体命令类(动作) 3.接受者(接受动作的对象) 4.装配者,增加删除命令,从而形成命令链结...

2019-01-17 21:16:00 151

转载 c++设计模式之观察者模式

观察者模式场景:   多个观察者观察一个目标对象的状态,若该目标对象状态发生改变,则观察者会对此作出反应实现: 目标对象:   1.状态变量   2.观察者列表   3.attach成员函数用于向观察者列表中添加观察者   4.detach成员函数,用于删除观察者列表中的观察者成员   5.notify函数,用于当状态变量发生变化时,通知观察者 观察者:   1.观察者应...

2019-01-09 23:36:00 144

转载 c++设计模式之单例模式

单例模式:目的:保证每个类只有一个静态对象实现方式: 1.构造函数私有化 2.公有静态类对象指针 3.产生静态类对象指针的公有函数分类:懒汉式:在需要的时候才进行初始化 优点:避免内存消耗 缺点:需要加锁,影响执行效率饿汉式:一开始就进行初始化 优点:不需要加锁,执行速度快 缺点:会造成内存消耗注意: 1.双检索机制--->懒汉式,在判断之前需要在加上一个锁 2.资源//sin...

2019-01-09 22:27:00 115

转载 Windows下错误码全解析

windows系统下,调用函数出错时。可以调用GetLastError函数返回错误码。但是GetLastError函数返回值是DWORD类型,是一个整数。如果想要知道函数调用的真正错误原因,就需要对这些整数进行翻译。而这些翻译都在WinErr.h头文件中可以找到。WinErr.h头文件路径是(C:\Program Files\Microsoft SDKs\Windows\v...

2018-03-16 11:24:00 489

转载 c++ 引用

转载博客:http://blog.csdn.net/cy_weiyi/article/details/46851555如: int &ref = num; 就是ref是一个int型的引用。 引用有什么作用呢? 看下面代码就知道了: 1 #include <iostream> 2 3 using namespace std; ...

2018-01-25 15:41:00 85

转载 c++ 虚函数,纯虚函数的本质区别

转载博客:https://mp.weixin.qq.com/s?__biz=MzAxNzYzMTU0Ng==&amp;mid=2651289202&amp;idx=1&amp;sn=431ffd1fae4823366a50b68aed2838d4&amp;chksm=80114627b766cf31f72018ef5f1fe29591e9f6f4bd720...

2018-01-25 15:01:00 98

转载 c++ 中一个类或者一个对象所占的字节数

转载博客:转载地址https://www.cnblogs.com/JingHuanXiao/p/6080726.html一个空的class在内存中多少字节?如果加入一个成员函数后是多大?这个成员函数存储在内存中什么部分?一个Class对象需要占用多大的内存空间。最权威的结论是: *非静态成员变量总合。 *加上编译器为了CPU计算,作出的数据对齐处理。 ...

2018-01-24 09:20:00 351

转载 同步串口通信代码

最近做了一个串口通信相关的项目。主要涉及到同步串口通信。把代码保存下来以便以后使用。同时也能和大家一起共享,希望对大家有所帮助.头文件:SerialPort.h 1 #pragma once 2 3 #include <Windows.h> 4 #include "DataTypes.h" 5 6 7 #define COM_BUFF...

2018-01-23 20:20:00 286

转载 MultiByteToWideChar和WideCharToMultiByte用法详解

转载地址:https://www.cnblogs.com/ranjiewen/p/5770639.html这两个函数是由Windows提供的转换函数,不具有通用性C语言提供的转换函数为mbstowcs()/wcstombs()一、函数简单介绍涉及到的头文件:函数所在头文件:windows.h#include <windows.h>wchar_t类型所需头文件:wchar....

2018-01-23 20:08:00 91

转载 c++ windows与linux通信中文乱码问题解决方法

在linux中默认编码方式是UTF-8,在Windows下默认编码方式时GB2312。因此,在Windows和Linux进行通信的时候,如果没有进行转码则会出现乱码问题。因此,需要进行UTF-8和GB2312之间的转码。下面是转码函数及其相应的函数讲解。 char* U2G(const char* utf8) { int len = M...

2018-01-23 19:50:00 564

转载 C++中内存分配、函数调用和返回值问题

转载博客:http://blog.csdn.net/q_l_s/article/details/52176159(源地址找不到,就贴了这位大神的博客地址,他也是转载的,不过要是学习的话,他的博客很不错)在谈述函数调用和返回值问题之前,先来看看C++中内存分配的问题。C++编译器将计算机内存分为代码区和数据区,很显然,代码区就是存放程序代码,而数据区则是存放程序编译和执行过程出...

2018-01-17 10:49:00 82

转载 获取系统当前可用串口的两种方法

进行串口通信之前,需要获取当前系统的可用串口。要想达到此目的,有两种方式,读取注册表和使用CreateFile函数轮询读取串口。1.使用CreateFile轮询读取串口: 1 UINT CComDebugToolDlg::GetSerialPortState() 2 { 3 CString strCom; 4 int nCom=0; 5 ...

2017-11-30 14:12:00 732

转载 MFC常用控件之列表视图控件(List Control)

近期学习了鸡啄米大神的博客,对其中的一些知识点做了一些自己的总结。不过,博客内容大部分来自鸡啄米。因此,这个博客算是转载博客,只是加了一些我自己的理解而已。若想学习鸡啄米大神的博客总结,请点击连接:http://www.jizhuomi.com/software/257.html1.List Control控件:列表视图控件的列表项一般有图标(Icon)和标签(Label)两部分。图...

2017-11-23 20:18:00 345

转载 MFC常用控件之滚动条

近期学习了鸡啄米大神的博客,对其中的一些知识点做了一些自己的总结。不过,博客内容大部分来自鸡啄米。因此,这个博客算是转载博客,只是加了一些我自己的理解而已。若想学习鸡啄米大神的博客总结,请点击连接:http://www.jizhuomi.com/software/257.html1.滚动条分为水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Sc...

2017-11-23 16:55:00 248

转载 MFC知识点总结

一:消息1.什么是消息?消息是驱动windows系统运行的基础。从计算机的角度来看,消息就是一个整数。 (1)一个无符号整数,是消息值; (2)消息附带的WPARAM和LPARAM类型的参数; (3)其实我们一般所说的消息是狭义上的消息值,也就是一个无符号整数,经常被定义为宏。2.消息映射机制: MFC使用消息映射机制来处理消息,在程序框架中的表现就是,在程序中有一个消...

2017-11-23 15:27:00 343

转载 fopen函数打开文件总是返回NULL错误

有时候,调用fopen函数用来打开文件,但是总会返回NULL。对于此类问题。一定是一下两种原因之一造成的。1.路径错误。(路径中斜杠和反斜杠的问题)2.文件在另一个进程中被打开,再次打开当然不行(这种错误,可调用GetLastError函数,检查错误码,错误码是32)这个问题困扰了我一天时间。特此记录下来,以便能踏他人作参考转载于:https://www.cnblogs....

2017-11-15 18:09:00 6819

转载 四.Windows I/O模型之重叠IO(overlapped)模型

1.适用于除Windows CE之外的各种Windows平台.在使用这个模型之前应该确保该系统安装了Winsock2.重叠模型的基本设计原理是使用一个重叠的数据结构,一次投递一个或多个Winsock I/O请求。在重叠模型中,收发数据使用WSA开头的函数。2.WSA_FLAG_OVERLAPPED标志:要使用重叠模型。在创建套接字的时候,必须加上该标志。SOCKET s=WSASocke...

2017-11-11 17:12:00 276

转载 三.Windows I/O模型之事件选择(WSAEventSelect )模型

1.事件选择模型:和异步选择模型类似的是,它也允许应用程序在一个或多个套接字上,接收以事件为基础的网络事件通知。对于异步选择模型采用的网络事件来说,它们均可原封不动地移植到事件选择模型。事件选择模型和异步选择模型最主要的差别在于网络事件会投递至一个事件对象句柄,而非投递至一个窗口例程。2.创建事件对象:事件选择模型要求应用程序针对打算使用事件选择模型的每一个套接字,首先创建一个事件对象。...

2017-11-11 15:47:00 235

转载 二.Windows I/O模型之异步选择(WSAAsyncSelect)模型

1.基于windows消息为基础的网络事件io模型。因此我们必须要在窗口程序中使用该模型。该模型中的核心是调用WSAAsyncSelect函数实现异步I/O。2.WSAAsyncSelect函数:注册网络事件函数int WSAAsyncSelect( SOCKET s,// HWND hWnd,// unsigned int wMsg,//注意,该消息值应该大于WM_U...

2017-11-11 13:36:00 190

转载 一.Windows I/O模型之选择(select)模型

1.选择(select)模型:选择模型:通过一个fd_set集合管理套接字,在满足套接字需求后,通知套接字。让套接字进行工作。避免套接字进入阻塞模式,进行无谓的等待。选择模型的核心的FD_SET集合和select函数。通过该函数,我们可以们判断套接字上是否存在数据,或者能否向一个套接字写入数据。2.select函数:int select( int nfds,//忽略,只是为了兼容而...

2017-11-11 12:19:00 144

转载 Windos下的6种IO模型简要介绍

windows进行数据的收发有6种IO模型。分别是阻塞(blocking)模型,选择(select)模型,异步选择(WSAAsyncSelect)模型,事件选择(WSAEventSelect )模型,重叠IO(overlapped)模型,完成端口(completion port)模型。其中阻塞模型最简单,完成端口模型又能最优。下面分别就这几种io模型进行简要介绍。其中阻塞模型不进行介绍。...

2017-11-10 18:18:00 136

转载 编码介绍(ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE)

转载:http://blog.jobbole.com/30526/(前面内容)和http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html(后面追加的内容)编码一直是让新手头疼的问题,特别是 GBK、GB2312、UTF-8 这三个比较常见的网页编码的区别,更是让许多新手晕头转向,怎么解释也解释不清楚。但是编...

2017-11-10 16:08:00 107

转载 串口通信知识点详解

串口通信的基本概念:1.在计算机上进行数据的通信有两种方式。串行方式和并行方式。也就是串口通信和并行通信。即串口通信是计算机传输数据的一种通信方式。2.并行通信以字节为但是进行传输数据,相比于串口通信,他的速度快,传输距离近。串口通信以比特位传输数据,相比于并行通信,他的传输速度慢,但是传输距离远。并且串口通信是异步通信,因此,端口可以在一根线上发送数据的同时在另一根线上接收数据3.串口...

2017-11-09 15:03:00 1152

转载 UDP协议总结

我们已经讲解了物理层、连接层和网络层。最开始的连接层协议种类繁多(Ethernet、Wifi、ARP等等)。到了网络层,我们只剩下一个IP协议(IPv4和IPv6是替代关系)。进入到传输层(transport layer),协议的种类又开始繁多起来(比如TCP、UDP、SCTP等)。这就好像下面的大树,根部(连接层)分叉很多,然后统一到一个树干(网络层),到了树冠(传输层)部分又开始开...

2017-11-09 14:58:00 139

转载 TCP/IP和UDP的比较

TCP、UDP详解1、传输层存在的必要性 由于网络层的分组传输是不可靠的,无法了解数据到达终点的时间,无法了解数据未达终点的状态。因此有必要增强网络层提供服务的服务质量。2、引入传输层的原因 面向连接的传输服务与面向连接的网络服务类似,都分为建立连接、数据传输、释放连接三个阶段;编址、寻址、流控制也是类似的。无连接的传输服务与无连接的网络服务也...

2017-11-09 14:57:00 177

转载 const使用总结

1.常变量: const 类型说明符 变量名 const int a; 常引用: const 类型说明符 &引用名 const int &a; 常对象: 类名 const 对象名 (class)A const a; 常成员函数: 类名::fun(形参) const (class)A::fun(...)const 常数组:...

2017-11-09 14:57:00 78

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除