摘要: 什么时候需要判断?当指针依赖于外部环境时,例如读配置文件、载入资源,因为外部因素
不确定不在自己控制范围内,那么进行判断。同样,当使用了其他模块返回的指针值时,也
需要判断。这个其实和“外部环境”属于同一种情况。因为我们对其他模块也不清楚,更为
隐蔽的是(随着其他模块的改变,将来会在你的模块里爆发崩溃错误),其他模块由别人维
护,其变化更不受自己控制。之前我对这一点界定不是很清楚,这也是我犯错的原因。
阅读全文
摘要: 要将一个Image保存为一段内存,也比较麻烦。我的方法和google上的相同。当然,微软的库依
然让我在很多细节上栽跟斗(如前所说,可能这是基于多语言支持的考虑)。首先需要创建个空
的IStream,即CreateStreamOnHGlobal第一个参数为NULL。然后将Image Save到这个IStream。
再根据该IStream::Seek获取其大小,自己再分配段内存,最后IStream::Read读取进来。同样,
需要注意相关内存资源的管理。
阅读全文