- 博客(11)
- 资源 (8)
- 收藏
- 关注
原创 Data语意学
空类不空class A{}sizeof(A) == 1.原因:如果A的sizeof是0,A a1, A a2a1和a2的地址如何处理?&a1是什么呢?所以编译器为空类会插入一个字节。1、Data Member的绑定inline函数是会在整个class声明出现之后才开始进行分析。不会出现成员变量在inline函数后面而找不到定义。2、Data Me
2015-03-29 20:06:48 472
原创 关于对象及构造函数语义学
1、C++对象模型如下类在内存中布局如下:class Point{public:Point(float xval);virtual Point();float x() const;static int PointCount();protected:virtual ostream&print(ostream& os)const;float
2015-03-25 22:01:09 568
原创 注意count,find,binary_seach,lower_bound,upper_bound和equal_range的区别
1、count比较简单,统计区间等于某个值的个数。返回的是个数2、find查找等于某个值,并且返回第一个查找到的值,返回的是迭代器。3、binary_seach需要容器有序。它能够快速查找到某个值是否在容器中,但是它不会返回这个值的位置信息。返回的是一个bool信息4、lower_bound需要容器有序,它返回查找到某个值的第一个位置。如果没有找到这个值,它返回可以插入
2015-03-20 23:08:04 908
原创 行为模式
1、职责链(Chain of responsibility)将请求发送给接受者,接受者要么处理请求,要么转发给链表中的下一个候选者,提交请求并不知道哪个对象会处理这个请求。适用情况:有多个对象可以处理一个情况,哪个对象处理在运行时自动确定。不想明确接收者的情况下,向多个对象中的一个提交一个请求。如windows中的消息处理,QT中的风格设置。2、命令(Command)将
2015-03-20 20:25:10 369
原创 ptr_fun,mem_fun,mem_fun_ref的使用
1、先得了解使仿函数可配置的方法我们一般使用算法如下:class TestForeach{void memFun();};vector vsSTL;void TestFun(TestForeach a){}for_each(vsSTL.begin(), vsSTL.end(), TestFun);如果TestFun不是全局函数就会编译不过了,想要使用
2015-03-19 23:35:03 505
原创 调试相关
1、Windbg常用命令符号表加载srv*E:\down\symbols*http://msdl.microsoft.com/download/symbols~xs: 切到x线程!analyze -v: windebu帮助分析u 地址1 地址2: 查看地址1和地址2之间的反汇编uf 函数名:反汇编函数信息!runaway : 查看各线程CPU运
2015-03-18 09:00:31 517
原创 编程经验总结
1、32位windows操作系统中 int: 4字节 char:1字节 DWORD:4字节 WORD:2字节 LONG:4字节 float:4字节 double:8字节 BYTE:1字节 unsigned int:4字节 1字节是8位,1KB是1024字节,1B = 8b float占4
2015-03-18 08:46:49 413
原创 结构性模式
1、适配器(Adapter)将一个类接口转换成客户希望的另外一个接口。可以通过继承客户接口和适配层接口实现,也可通过组合方式。继承的方式能够改写基类实现,但是无法适配子类的接口。组合的方式需要显示调用,没有默认实现。但是可以同时适配多个基类。一般在设计后实施,已经存在了Target和Adaptee了2、桥接模式(Bridge)将抽象部分和实现部分分离,使得他们独
2015-03-17 22:29:53 420
原创 创建型模式
1、抽象工程模式(Abstract Factory)适用性:一个系统由多个产品系列中的一个来配置。类图:具体类图设计如下。client只需要关系产品系列的抽象类AbstractProductA,AbstractProductB。当使用产品系列中的factory1来配置该可获得时,A使用A1,B使用B1,当使用factory2来配置时,A使使用A2,B使用B2。可获得在初始化时确定使用ne
2015-03-17 21:36:24 364
原创 迭代器和算法
1、关乎效率时在map-operator[]和map-insert中慎重选择map-operator[],检查k是否在map中,如果不在,则添加上,如果在,则更新‘它会返回一个k值关联对象的引用。然后用v赋值给引用对象。当k不在上,会先构造一个空的对象,然后调用赋值操作。2、通过mismatch和lexicographical比较实现简单的忽略大小写字符串的比较3、
2015-03-16 21:23:05 512
原创 容器
算法的几个标准:常数型,与容器长度无关,算法始终是一个常数。如list的插入操作对数型,与容器长度呈对数的关系,即logn线性:与容器长度成正比。1、仔细选择容器顺序容器:vector,string,deque和list关联容器:set, Multiset, map和MultiMap非标准序列容器:slist,rope。slist是一个单向链表。list是双向的
2015-03-16 20:52:47 431
boost 静态链接库
2015-07-12
棋盘覆盖问题源码
2012-03-08
N(8)皇后问题
2012-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人