摘要: C++中的类型转换:和goto语句一样类型转换的名声似乎也是不那么好。不过类型转换在某些紧要关头就显得尤为重要,看看现有的C/C++代码就知道,以至于你不理解转换的作用,代码将是无法阅读的。就像铀,它能变成原子弹,但它也能用来发电,是灾难还是福祉那就要看人类了。显然类型转换默默承受着这不公的一切。不管怎么说C风格的类型转换还是不尽人意的:1.它们很粗糙,你可以通过它们在任意类型之间进行转换,没有明确指定每个转换的目的。2.C风格的类型转换很难进行查找。它们是由一对括号加上一个类型标识组成的,而括号和类型标识在C++里到处都是。C++通过引进4种类型的类型转换操作符克服了C风格的类型转换的缺点。 阅读全文
posted @ 2012-10-15 22:47 可乐爱上了雪碧 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 观察者模式: 1 #ifndef __UIDELEGATE_H__ 2 #define __UIDELEGATE_H__ 3 4 #pragma once 5 6 namespace DuiLib { 7 8 class UILIB_API CDelegateBase 9 {10 public:11 CDelegateBase(void* pObject, void* pFn);12 CDelegateBase(const CDelegateBase& rhs);13 virtual ~CDelegateBase();14 bool Equals... 阅读全文
posted @ 2012-10-15 22:15 可乐爱上了雪碧 阅读(306) 评论(0) 推荐(1) 编辑
摘要: 代码: 1 long __cdecl atol( 2 const char *nptr 3 ) 4 { 5 int c; /* current char */ 6 long total; /* current total */ 7 int sign; /* if '-', then negative, otherwise positive */ 8 9 /* skip whitespace */10 while ( isspace((int)(unsigned char)*nptr) )11 ++nptr;12 13 c = (int)(unsigned ... 阅读全文
posted @ 2012-10-15 13:43 可乐爱上了雪碧 阅读(1258) 评论(0) 推荐(0) 编辑