上周末布置的算法试题:给定一行只包含数字的字符串(1到1000个数字),求使用字符串中的某些字符,构造一个能被15整除的最大整数,要求字符串中的每个字符最多只能使用一次。该试题需要考虑什么数能被3整除和被5整除,涉及排序,当不能被3整除时需要考虑如何舍去某些数字。我今天用C++编程实现了,估计应该能对。一、首先编写测试用例,每对值中给出待测试的数字串和预期的结果:bool AssertPair(const char* instr, const char* check); bool Test(){ return AssertPair("0", "") &a Read More
在C++中经常使用匈牙利命名法,这在早期是可理解的,那时开发环境(IDE)没有语法亮显和自动显示变量定义的功能,所以使用匈牙利命名法就能一眼看出变量是什么类型的。说起匈牙利命名法,必须区分匈牙利应用命名法和匈牙利系统命名法,后者在前者基础上发展而来并盖过前者。原始的匈牙利命名法,现在被称为匈牙利应用命名法,由1972年至1981年在施乐帕洛阿尔托研究中心工作的程序员查尔斯·西蒙尼发明。西蒙尼建议的大多数前缀都是自然语义的,其前缀是为了说明变量的应用属性或业务属性,例如“String dogName, manName;”;而匈牙利系统命名法的前缀是为了说明变量的系统属性,比如类型,例如 Read More
在今天发布的v1.0.6中,增加了Code::Blocks工程文件,采用 Code::Blocks 10.05 + MinGW GCC 4.51 编译,修正了一些代码移植性问题,单元测试工程同时支持MFC对话框方式和非MFC的控制台程序方式。由于部分工程使用了 shlwapi.h 中的函数,在使用GNU GCC编译时无法链接通过,该问题还未解决。另外修正了 PluginManager 的一个问题,在内部比较插件文件名时,忽略文件路径,假定各个插件文件名不相同。该问题由thinkhy报告,感谢thinkhy的代码复审和问题报告。欢迎提出问题和建议。源码下载地址:https://sourcefor Read More
X3 C++ PluginFramework 已发布了一个新版本 V1.0.5,相对于1.0.4的改动有:1. 支持插件延迟加载,实际用到插件的接口时才加载插件DLL当调用了一个插件的某个接口时才自动加载该插件,首次加载该插件时会将该插件所有CLSID保存到一个XML文件中,下次运行程序时只读入CLSID而不加载插件DLL文件,这样就能加快程序启动速度。改动了插件管理器的实现代码,接口和其余插件不受影响。2. 对于事件驱动机制的观察者插件,也支持延迟加载当某个改变事件触发时才去加载相应的观察者插件。改动了插件管理器和改变通知管理器的实现代码,接口和其余插件不受影响。3. 修正了插件管理器的几个 Read More
X3 C++ PluginFramework 已在公网开源,地址为:http://www.oschina.net/p/x3http://sourceforge.net/projects/x3c/可在上面网站下载代码,也可使用SVN客户端获取开发中的最新代码,地址为SVN: https://x3c.svn.sourceforge.net/svnroot/x3c/trunk欢迎使用、讨论、报告建议和问题,谢谢。-------------------------------------------------------代号为X3的C++轻量级通用插件框架平台是一套通用的C++轻量级插件体系,采用V Read More
今天翻以前写的资料,偶然看到一篇总结,觉得有点用,就贴出来供以后再系统性的整理。项目需求分析总结——对某出版集团项目的需求规格说明书的修改意见总结2009.5本文以近期对某出版集团项目的需求规格说明书的修改情况为主,结合在其他项目了解到的情况,总结了一些常见问题和经验,供大家今后在需求分析和编写需求规格说明书时参考借鉴,有不对的地方请指出。1. 需求规格说明书的用途概述1.1. 常见问题一些开发人员在编写需求规格说明书时,对需求规格说明书中各部分的用途不是很清楚,经常出现下列问题:1) 为写而写,应付检查,尤其是在事后补CMM文档时容易发生;2) 将需求书写成了用户使用说明书,出现大量最终界面 Read More
X3插件框架是一套通用的C++轻量级插件体系,由多个独立插件模块组成。应用程序可以基于X3插件框架进行快速开发,X3插件框架中的插件既可以单独使用,又可以灵活组合使用。 目前X3插件框架已经完成框架内核,其余通用插件正在扩充之中。X3插件框架已经在方正范围内开放源码。 X3插件框架的WIKI知识库网站为 http://dmkb.hold.founder.com/trac/x3 ... Read More
1. 模块使用说明 1.1. 概述 X3插件基础模块是“X3插件框架”的最底层独立模块,用于形成其他插件模块。X3插件框架的设计目标是汇集各种常用的轻量级C++插件通用模块,其插件既能灵活组合到各种系统,又能单独拆开使用。“X3”是开发代号,不是版本号。 X3插件基础模块用于开发具有统一接口标准的C++插件模块,使其具有COM组件的多种特点(接口与实现分离、一个实现类支持多个接口、引用计数管... Read More