Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407843
  • 博文数量: 78
  • 博客积分: 3642
  • 博客等级: 中校
  • 技术积分: 695
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-23 15:33
文章分类

全部博文(78)

文章存档

2007年(53)

2006年(25)

分类: C/C++

2007-01-30 16:01:47

1.少写了malloc

这样写通过编译、连接
char* bodylc = (char *)(sizeof(char)*128);
但本意是下面:
char* bodylc = (char *)malloc(sizeof(char)*128);

2.new写错形式

 原意: char * p = new char[len];
       delete []p;

 char *p = new char[len]这句被写成了char *p = new char(len)。

  这里如果忘记了写delete可能运行时也不会出错,但是程序运行时将会使用未申请的空间,留下更难发现的BUG。
 
  new   char[len];  申请len[个数]个连续的空间。
  new   char(len];  申请一个char大小空间,并用char(int)这个构造函数来初始化这个对象 。
              char(len)把内置类型char看作是类来处理,以构造函数形式初始化对象,char = len。
 
阅读(1939) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~