随笔分类 -  C/C++

摘要:snprintf 这个函数的返回值确实蛋疼,网上大多数说是“返回预期要写入的字符串长度”,那还有失败小于0的情况啊? 其实,这样理解是比较好的: 什么时候写入成功?只有返回值 大于等于0,且小于长度限制n 因为snprintf 最多copy n 1个字符 ,之后会在后面加入\0,所以实际正常下,写入 阅读全文
posted @ 2016-03-15 18:43 lebyzhao 阅读(227) 评论(0) 推荐(0)
摘要:"四人帮"的《design pattern》的确博大精深,但个人觉得毕竟还是偏学院派了,似乎不用非常理性的去理解它们,所以在实际应用中,甚至一些人主张不使用模式。就像说话写作文一样,我们不一定要有模版,但是一些常用的总分、对比等手法还是可以借鉴的。如果能如独孤求败的剑术一样,到达精通剑、一切皆剑、无 阅读全文
posted @ 2015-11-30 18:35 lebyzhao 阅读(294) 评论(0) 推荐(0)
摘要:编译篇较大型cpp项目的代码组织、编译都是深耦合的。一般提供一个总体的makefile,进入各个模块,又有自己的makefile,这些makefile又都依赖于一些被include的文件的的定义,为什么要这样原因不必多言。但要想改变编译环境时,却很难顺利的移植。我们可能踩过的坑有:1)找不到类库,这... 阅读全文
posted @ 2015-10-23 23:01 lebyzhao 阅读(459) 评论(0) 推荐(0)
摘要:开发软件的时候,一方面,我们总是希望使用别人已经写好的代码,另一方面,又希望自己写的代码尽可能重用,以求减少工作量。要做到这两个目标,这需要"抽象化"。最近,我读到美国程序员Derick Bailey的一篇文章,谈到"抽象化"应该遵循的三个原则,觉得很有启发。一、DRY原则DRY是 Don't re... 阅读全文
posted @ 2015-10-19 10:03 lebyzhao 阅读(162) 评论(0) 推荐(0)
摘要:size_tsize_t. A basic unsigned integer C/C++ type. It is the type of the result returned by sizeof operator. The type's size is chosen so that it coul... 阅读全文
posted @ 2015-04-30 17:04 lebyzhao 阅读(546) 评论(0) 推荐(0)
摘要:如何专业的定义一个class?这里记录一下自己的checklist1 关于构造函数a. 考虑声明为explicit避免一个参数或多个参数从第二个后都有默认值下的隐式调用。一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 ,2 是个默认且隐... 阅读全文
posted @ 2015-04-11 20:26 lebyzhao 阅读(419) 评论(0) 推荐(0)