摘要: 派生类可以继承基类中的private virtual函数 《Effective c++》上说:“derived class可重新定义继承而来的private virtual函数”。这个规则可以用到NVI手法中。“令客户通过public non-virtual成员函数间接调用private virtu 阅读全文
posted @ 2017-04-06 10:51 dfdqzp 阅读(1136) 评论(1) 推荐(0) 编辑
摘要: 收藏于 2013-12-20 来自于百度空间 阅读全文
posted @ 2017-04-06 10:50 dfdqzp 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 非常不错。我是因为查找ios平台一个字节对齐导致的crash问题,从而查找memcpy优化 阅读全文
posted @ 2017-04-06 10:50 dfdqzp 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 引用和指针! 空间 C++中引用和指针的区别:1 、要认识到在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象,因为引用肯定会指向一个对象,在C++里,引用应被初始化。指针没有这样的限制,不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测 阅读全文
posted @ 2017-04-06 10:49 dfdqzp 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 关于数组长度 空间 sizeof(a) / sizeof(int); 这个用法。只有在函数作用域范围内,才适用。 数组a的长度只有在 定义所在的函数体内才能通过这个办法求长度。 如果是作为参数传递的a数组名。已经被转换成指针,此方法不适用。 空间 空间 空间 sizeof(a) / sizeof(i 阅读全文
posted @ 2017-04-06 10:49 dfdqzp 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 一个算法的优化 空间 朋友需要一个算法,有一个多行,两列的二维数组,两列分别保存主副设备号,要求判断 任意两行的第一列和第二列同时相同,返回false 任意两行的第一列相同,第二列有一个为0,返回false。 全部不相同返回true。 最原始方法:时间复杂度为 O (n平方)。 假设传入参数为 li 阅读全文
posted @ 2017-04-06 10:48 dfdqzp 阅读(165) 评论(0) 推荐(0) 编辑
摘要: nsis 学习笔记(1) 空间 MessageBox MB_OK '$$0 is "$0"' ;$0是某个值 ${If} $0 == 'some val ' MessageBox MB_OK '$$0 is some val ' ${ElseIf} $0 == 'some other val ' M 阅读全文
posted @ 2017-04-06 10:46 dfdqzp 阅读(4255) 评论(0) 推荐(0) 编辑
摘要: nsis 学习笔记(2) 空间 Delete "$SMPROGRAMS\裝箱大師企業版\裝箱大師官方網站.lnk" Delete "$SMPROGRAMS\裝箱大師企業版\裝箱大師企業版幫助文檔.lnk" delete "$smprograms\裝箱大師企業版\裝箱大師企業版4.0.lnk" Del 阅读全文
posted @ 2017-04-06 10:46 dfdqzp 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 字节对齐,还有你不知道的! 空间 字节对齐的细节和编译器实现相关,但一般而言,满足三个准则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal ad 阅读全文
posted @ 2017-04-06 10:44 dfdqzp 阅读(173) 评论(0) 推荐(0) 编辑
摘要: ③方法三(利用异或等价代换): int a=3,b=7; a^=b^=a^=b; 实际上就是 a = a^b; b = a^b; a = a^b; 这个结果是正确的。 ④方法四(和方法二类似,但是实际不同,利用了临时隐含中间变量): a = (a+b)-(b=a); 在vs2008中,这么写得不到正 阅读全文
posted @ 2017-04-06 10:43 dfdqzp 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 重载与强制类型转换 空间 同事问我,两个函数重载的时候,只有返回值不同,能否重载。 好久不做c++了,居然不太确定了。想了一下,如果能重载的话,无论是在编译时者运行时,都会产生二义性。编译器不可能去根据返回类型来确定要调用的是哪个函数。去查了下,这下确定了,不能这样重载。但有的语言却支持。例如.ne 阅读全文
posted @ 2017-04-06 10:41 dfdqzp 阅读(215) 评论(0) 推荐(0) 编辑
摘要: GDB 其实可以很强大! 空间 不得不说,除了竞.价.排.名,度娘算是个不错的地方。 刚去回答一个关于gdb调试动态链接的问题。发现自己其实掌握的并不好,再加上一年没做linux下的项目了。很多命令都就着大米饭吃掉了。去找了个帖子,整理一下。 一、动态库的编译 编码实现 .h .cpp。编译动态库: 阅读全文
posted @ 2017-04-06 10:40 dfdqzp 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 各种流输入函数,你能安全使用么? 空间 2011.1.9更新。 gets函数可以无限读取,不会判断上限,如果溢出,多出来的字符将被写入到缓冲区后面的内存位置,这个事实导致gets函数只适用于玩具程序。 getchar 是缓冲输入函数。 getch()是非缓冲输入函数。 各种流输入函数,你能安全使用么 阅读全文
posted @ 2017-04-06 10:39 dfdqzp 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 单例模式 空间 前几天回答了一个关于用静态变量实现总是返回同一个instance的示例代码,因为刚好自己用过这种代码,就随手回答了。被采纳后,看了别人的回答,才知道这叫单例模式,又查了下百科,多了解了一些。 单例模式的实现要点 一是某个类只能有一个实例 二是它必须自行创建这个实例 三是它必须自行向整 阅读全文
posted @ 2017-04-06 10:39 dfdqzp 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 找了很多,就这个写的通俗易懂,又可以复制的页面 c++为我们所提供的各种存取控制仅仅是在编译阶段给我们的限制,也就是说是编译器确保了你在完成任务之前的正确行为,如果你的行为不正确,那么你休想构造出任何可执行程序来。 但如果真正到了产生可执行代码阶段,无论是c,c++,还是pascal,大家都一样,你 阅读全文
posted @ 2017-04-06 10:38 dfdqzp 阅读(423) 评论(0) 推荐(0) 编辑
摘要: #include <iostream.h> typedef struct node{ int x; struct node *next;}Node,*pList; class Set{private: pList m_list; int len;public: Set(); bool IsEmpt( 阅读全文
posted @ 2017-04-06 10:37 dfdqzp 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 看到我的百度知道团队C* ,团长的一篇文章,结合自己以前在工作中遇到问题的时候,某些问题解决的比较缓慢或者自己不是很满意,想到了一些自己的不足。 急躁,盲目,没有条理,不善于总结。 遇到问题急躁,寻求帮助的时候盲目,与人交流的过程中没有条理,解决问题之后不善于总结。 如果你跟我一样碰到类似的问题,看 阅读全文
posted @ 2017-04-06 10:36 dfdqzp 阅读(94) 评论(0) 推荐(0) 编辑