摘要: 对象析构谈—— delete this 的使用及注意事项In order to understand "delete this" :First Step - dive into "delete p"delete p 执行了哪些步骤?delete p 是一个两步的过程:调用析构函数,然后释放内存。delete p产生的代码看上去是这样的(假设是Object*类型的):delete原语可以看作如下这样一个过程:p->~Object();p->operator delete(p);p->~Object() 语句调用p指向的Object对象的析 阅读全文
posted @ 2013-09-09 20:03 cavehubiao 阅读(990) 评论(0) 推荐(0) 编辑
摘要: dfs枚举过,完全没有剪枝,最后的个求sum函数倒是有点麻烦 1 /* 2 3 ID: hubiao cave 4 5 PROG: zerosum 6 7 LANG: C++ 8 9 */ 10 11 12 13 14 #include 15 16 #include 17 18 #include 19 20 #include 21 using namespace std; 22 23 24 set >ss; 25 26 char ch[3]={' ','+','-'}; 27 28 29 30 void dfs(int); 31 bool. 阅读全文
posted @ 2013-09-09 17:00 cavehubiao 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个数N,求出1-N之间的数字有多少个1,例如N=11时结果为4(只有1,10,11含1)经典问题。参照编程之美分析编程之美上的一道题目,原文分析的方法十分简单,并且很容易程序实现。分析:若x = abcde,我们来看百位为1出现的次数,这里分3种情况讨论:1. 百位为0时,假设x = 45021,可以算出百位为1出现情况: 100~199 1100~1199 ... 44100~44199 总共是45*100个12. 百位为1时,假设x = 45121,可以算出百位为1出现情况: 100~199 1100~1199 ... 44100~44199 45100~451... 阅读全文
posted @ 2013-09-09 10:14 cavehubiao 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 对应NULL指针 ,可以调用函数无引用this的非virtual 函数,对应virtual函数,由于实际是通过vtptr调用,所有也不行但是下面的情况class base1{public: virtual void vfunc() { coutbase1::vfunc();可以调用成功,问了下别人回答是:“都指定用基类的函数了,还取什么vtable, 直接是内存中的固定地址了。p == NULL , 调用子类的虚函数,必然先 *(vTable *)p , 这时候就我了割草的崩溃了。” 阅读全文
posted @ 2013-09-08 19:38 cavehubiao 阅读(238) 评论(0) 推荐(0) 编辑
摘要: longest prefix/*ID: hubiao cavePROG: prefixLANG: C++*/#include#include#includeusing namespace std;string sary[202],s;bool g[200050];int len[202],slen,ans;int main(){ ifstream fin("prefix.in"); ofstream fout("prefix.out"); string str; int co=0; int i=0; while(fin>>str,str!=& 阅读全文
posted @ 2013-09-08 19:30 cavehubiao 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 又是来回2次等于没按,一个结构体 no3odd,speodd,no3even,speeven代表非-1%3 奇数偶数,普通奇数偶数。然后当按1-4次时,归纳出1次对应4种情况,2次对应0次和2种各一次(1+6),3次对应(1,3)(4+4),4次对应(0,2,4)(1+6+4)超过4以后的偶数情况等同于4,偶数等同于3随后根据C取值枚举便可/*ID: hubiao cavePROG: lampsLANG: C++*/#include#include#include#includeusing namespace std;struct Bu{ bool no3even; bool s... 阅读全文
posted @ 2013-09-06 23:03 cavehubiao 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 一、设置:项目——》配置属性——》调试——》命令参数二、如果程序中使用了相对路径,而且路径中的文件夹不是执行目录的子文件夹,那么使用..//可能就会找不到三、 VS2010默认的工作目录是$(ProjectDir)即与cpp文件同目录 阅读全文
posted @ 2013-09-06 16:19 cavehubiao 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 题目看懂了到是不难,直接枚举,不过调错真是调了好久,提交了12次才过啊啊啊啊啊 1 /* 2 3 ID: hubiao cave 4 5 PROG: runround 6 7 LANG: C++ 8 9 */ 10 11 12 13 14 #include 15 16 #include 17 #include 18 #include 19 #include 20 21 using namespace std; 22 23 24 25 26 int main() 27 28 { 29 30 31 32 33 ifstream fi... 阅读全文
posted @ 2013-08-30 18:00 cavehubiao 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 原来多个条件是,就是多个的条件组合啊首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素: (1) 出现在select后面的字段 要么是是聚合函数中的,要么就是group by 中的. (2) 要筛选结果 可以先使用where 再用group by 或者先用group by 再用having下面看下 group by多个条件的分析:在SQL查询器输入以下语句create table test(a varchar(20),b varchar(20),c varchar(20))insert int 阅读全文
posted @ 2013-08-30 17:32 cavehubiao 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 看windows下的进程间通信,第一个就是Filemapping,今天下午好好的看了下.试了半天写了两个小程序终于运行成功了...program 1 1 #include 2 #include 3 4 int main() 5 { 6 HANDLE hFile=CreateFile("e:\\kuan.txt",GENERIC_READ|GENERIC_WRITE, 7 FILE_SHARE_WRITE, 8 NULL, 9 OPEN_ALWAYS,10 FILE_ATTRIBUTE_NORMAL,11 ... 阅读全文
posted @ 2013-08-29 22:47 cavehubiao 阅读(850) 评论(0) 推荐(0) 编辑