摘要:
使用scopeguard在运行环境中监测内部变量
smilemac
1. scopeguard简介
我们知道,使用结构化异常来书写一个期望有较高可靠性的函数时,尤其这段函数如果有副作用(side effect),那么在执行失败,需要保持资源一致性的时候,琐碎凌乱的try块会使程序可读性很差,并且看上去很丑陋,petru marginean和andrei alexandrescu所写的sco......
摘要:
以下内容转自本人自己的blog:http://springbuilder.blogone.net
因为blogcn总给人不安全的感觉,现把上面的一些笔记转到这里来,权当作为备份,要是能对大家有一些参考价值,那将是本人极大的荣幸,呵呵。
《深入浅出mfc》读书笔记(一,二) 今天开始读《深入浅出mfc》了,顺便留下写东西,以便日后查看。第0章(全书概况) 本书分四大篇: 第一篇:介绍与mfc相......
任意规模指派问题的C++类实现
一.指派问题
1.指派问题的数学模型 【程序编程相关:
用C++Builder开发具有历史记录功】
在生活中经常遇见这样的问题,有n项任务要求n个人完成,这n个人完成各项任务的效率(或所需时间)不同,于是产生指派哪个人去完成哪项任务的问题,这类问题称为指派问题或分派问题. 【推荐阅读:
使用API调用Windows“注销/重启】
【扩展信息:
XML文件源码察看器(六)】
引入变量xij,其取值只能是1或0,并令xij=1表示指派第i人完成第j项任务 xij=0表示不指派第i人完成第j项任务;当问题要求极小化时,数学模型是: min z= ①
② ③
④
约束条件②说明第j项任务只能由1人完成;约束条件③说明第i人只能完成1项任务.满足约束条件②--④的解,可以用矩阵来表示,此矩阵称为解矩阵.
当问题要求极大化时,可令bij=m-cij把问题转换成极小化模型.
二.指派问题的解法
指派问题是0-1规划的特例,也是运输问题的特例,可以用整数规划.0-1规划.运输问题的解法去求解,但因忽略指派问题的特殊性,因而不能达到好的解题效率.
指派问题的最优解具有这样的性质,若从系数矩阵(bij)的一行(列)各元素中分别减去该行(列)的最小元素,得到新矩阵(bij’),那么以(bij’)为系数矩阵求得的最优解与用原系数矩阵求得的最优解相同.
库恩于1955年提出了指派问题的解法,其中引用了康尼格一个关于矩阵中0元素的定理:系数矩阵中独立0元素的最多个数等于能覆盖所有0元素的最少直线数.
三.程序实现
依照上述方法,编制assignment类,以实现对任意规模的指派问题的解决.
class assignment
{
public:
assignment(int n, int * eff);
~assignment();
int * getassignment(bool ismin=true);
private:
bool hasassigned(int * eff);
bool haszero(int * eff);
void changemintomax();
void getrowcolzero(int * eff);
void assignandgetoff(int * eff);
void changeefficiency(int * eff);
void gettaskassignment(int * eff);
void assigncore(int * eff);
void resetzero (int * eff);
int getlinenum(int *eff);
private:
bool allassigned;
int * task;
int * efficiency;
int scale;
int * rowticked;
int * colticked;
public: // 定义的几个常数
const int maxvalue ;
const bool maxassign;...
下一页 摘要:
软件生态危机——微软操作系统垄断造成的软件生态种群过于单一潜伏着极大的危机
在自然界任何一种生态系中,品种过于单一的危害性都很大。最典型的例子莫过18世纪爱尔兰由于单一种植马铃薯而酿成的“爱尔兰大饥荒”。马铃薯祖宗生长在包括智利和秘鲁在内的部分南美地区。西班牙的航海者把马铃薯带到了欧洲,这种作物在爱尔兰贫瘠土地上生长很好,营养丰富,爱尔兰人很爱吃,于是他们大量地种植。逐渐地,马铃薯成了爱尔......