- 博客(6)
- 资源 (9)
- 收藏
- 关注
转载 C++编译指令#pragma pack的配对使用
#pragma pack可以用来指定C++数据结构的成员变量的内存对齐数值(可选值为1,2,4,8,16)。本文主要是强调在你的头文件中使用pack指令要配对使用,以避免意外影响项目中其他源文件的结构成员的内存对齐。如果影响了其他源文件的结构成员内存对齐,那么在你按照默认对齐来计算那些结构成员占用内存大小或者使用指针移动计算结构成员偏移位置的时候,就可能会出现意料之外的异常。主
2017-09-28 21:29:36 1341 1
原创 深入浅出C语言中的柔性数组
问题引出在日常的编程中,有时候需要在结构体中存放一个长度动态的字符串,一般的做法,是在结构体中定义一个指针成员,这个指针成员指向该字符串所在的动态内存空间,例如:typedef struct{ WORD usMsgID; WORD usMsgLen; char *pData;//pData指向字符串}COMMMON_DEF_STRU针对这种普通形式的结构体,我们很容易写出
2017-09-27 22:01:25 1020
转载 代理模式vs适配器模式vs外观模式
一、定义代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,使得原本接口不兼容而不能一起工作的那些类可以一起工作。外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。二、理解代理模式和适配器模式应该说很相像,但是他们的区别也很明显,...
2017-09-25 21:49:09 548
原创 C++设计模式之适配器模式
模式概述在软件开发中,系统的数据和行为都正确,但接口不符合时,我们应该考虑使用适配器,目的是使得控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现有的类,但是接口又与复用环境要求不一致的情况,比如在需要早期代码复用一些功能等应用上很有实际价值。适配器模式的定义如下:适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter模式将使得原本由于接口
2017-09-24 21:32:07 363
原创 C++设计模式之外观模式
模式概述外观模式应用模式总结模式概述外观模式是设计模式中比较常见的一种,该模式提供一个外观类,负责对外打交道的门户,它屏蔽了子系统内部特定的调用关系,简化接口的使用;该模式的定义如下:外观模式(Facade)为子系统中的一组接口提供了一个一致的界面,此模式定义了一个高层接口,这些接口使得这一子系统更加容易使用. 其基本的结构体如下:在这个结构中包含两个角色,一个是外观类Facade,一个是子系统
2017-09-17 16:22:32 1238
原创 C++设计模式之观察者模式
模式概述观察者模式又叫做发布-订阅模式(Publish-Subscribe)模式,是使用频率最高的设计模式之一; 在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间可以没有任何相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展。观察者模式定义如下:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象
2017-09-16 17:47:25 389
C/C++/JAVA/Python代码统计工具
2018-12-17
基于boost.asio库的C++http/https web server
2018-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人