c c++ 典型问题

C 和 C++ 程序中的内存错误非常有害:它们很常见,并且可能导致严重的后果(特别是在多线程)

1. 两次free,(特别要注意 函数中的 char* foo(char* x) x是malloc的)

2 . 访问空值(printf(“%s”, NULL))
3. 内存泄漏
4. 没有初始化

5. 野指针


  • free后没有置NULL
  • realloc 当数据被移动了之前指向的地址就不对了


6. 不要想当然一个改动只会影响某个地方,要清楚的知道每个修改可能波及的地方(也就是要grep整个项目)。

修改了a/t.h ,影响了a/t2.c 和 b/t2.c(不幸的是它用了a/t.h)


c++ map find的key不能用char* 因为指针比较不对得用strcmp 

http://www.eifr.com/article.php?id=1129
http://www.eifr.com/article.php?id=1105


http://www.eifr.com/article.php?id=1129
http://www.eifr.com/article.php?id=1105

C 语言常见问题集 (中文) http://c-faq-chn.sourceforge.net/

收藏  | 打印  | 字体:  -缩小  放大+     下一页  
[ x ] 请正确填写下面信息


是否保存此网页快照 是否公开此收藏

查看全部评论(0)我来说两句