- 博客(6)
- 收藏
- 关注
原创 New的VC编译器实现
当我们调用 new 的时候,例如 int *p = new int; 时,编译器到底作了什么工作呢?跟进断点看一看。 (在vc debug模式下)double *p1 = new double;00411A6E push 8 00411A70 call
2009-02-27 10:27:00 2229
原创 在Window系统中new 和 delete的工作原理[1]
<! v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0 false fal
2009-02-26 11:29:00 2948
原创 C++内存管理到底有多麻烦
看看这一段代码:int *p = new int(4);int &ri = (*p);delete p;p = NULL;ri = 1;//lots of code ...char *pc = new char(3); //aha, crash 编译器在底层做了什么,如何能在crash时方便检测到是哪里内存使用错误???
2009-02-25 17:47:00 845
原创 好代码的特点
一个好的代码,最根本需要三个特点:正确,可读,效率 1.正确需求分析是否完整合适,是否真正理解了需求测试代码是否写了,是否足够测试代码的功能软件是否有很好的可测试性,参数检查,assert,足够log记录用于跟踪bug是否稳健,能抵御异常输入 2.可读性是否设计合理,架构合理,分层清楚函数,变量命名是否准确接口是否完备,易用,不易犯错函数是否内聚,低
2009-02-20 21:24:00 3766
原创 CArray实现机制
Normal 0 false false false MicrosoftInternetExplorer4 <!-- /* Font Definitions */ @font-face {font-family:SimSun
2009-02-17 15:08:00 994
原创 STL学习笔记1(CArray与vector)
先做一个有趣的实验,测试一下CArray和vector添加数据的效率:结果(VS2005,release,默认优化O2): 可以看到,当需要添加大量数据时,CArray明显比vector慢。 测试代码:const int TEST_CASE_SIZE = 5;long len[TEST_CASE_SIZE];
2009-02-16 17:36:00 6667 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人