摘要:
对象析构谈—— 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对象的析 阅读全文
摘要:
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. 阅读全文
摘要:
题目:给定一个数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... 阅读全文