向左右向右走 —— 小时了了的技术博客

关注C++开发技术、架构设计、软件项目管理、软件产品管理等

posts - 24,comments - 59,views - 36166
10 2011 档案
谁该为参数负责
摘要:事情缘起于代码走读会议的一次讨论。基本的需求很简单,就是实现类似下面这样一个函数:HRESULT GetText(/* [out] */BSTR* pText); 很自然地,首先写出来的实现是这样的:HRESULT GetText(/* [out] */BSTR* pText){ ASSERT(pText != NULL); *pText = ::SysAllocString(L"This is the text."); return S_OK;} 它的调用方式如下(这里为了简单起见我们忽略掉了对返回值的判断): BSTR bstText = NULL; GetText(& 阅读全文
posted @ 2011-10-30 11:55 小时了了 阅读(1330) 评论(5) 推荐(5) 编辑
谈谈继承的局限性
摘要:有一种普遍的说法是把封装、继承和多态并称为面向对象的三大特征。如果你很熟悉C++并且对面向对象思想有过一些思考,那么很可能对这个说法有过怀疑,面向对象思想在本质上认为世界是由对象构成的,和面向过程是世界观的不同,而所谓的三大特征实际和面向对象的思想本质没有半毛钱的关系,准确的表述应该是封装、继承和多态是C++相对于C的三大特征。如果你碰巧了解一点C++编译器可能会发现封装也好,继承、多态也好都只是语法糖,技巧层面的东西而已,和思想无关。以上为废话。本文主要就C++的继承机制进行一些讨论。很多C++教材在讲到继承时喜欢利用几何上的一些概念,比如对如下的集合关系进行建模: 在一次内部技术培训的时候 阅读全文
posted @ 2011-10-17 09:08 小时了了 阅读(1870) 评论(17) 推荐(3) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示