Impossible is nothing  
  爱过知情重醉过知酒浓   花开花谢终是空   缘份不停留像春风来又走   女人如花花似梦
公告
日历
<2022年9月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
统计
  • 随笔 - 8
  • 文章 - 91
  • 评论 - 16
  • 引用 - 0

导航

常用链接

留言簿(4)

随笔分类(4)

随笔档案(8)

文章分类(77)

文章档案(91)

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 
对函数的输入参数进行适当的检查
经常会有这样的程序:
foo(char* str)
{
    int len = strlen(str);
   
……
}
char* GetUserName(struct user* pUser)
{
    return pUser->name;
}
No
Please dont do like that!。你应该先判断一下传进来的那个指针是不是为空(NULL)。如果传进来的指针为空的话,那么,你的一个大的系统就会因为这一个小的函数而崩溃。一种更好的技术是使用断言(assert)。当然,如果是在C++中, 使用引用要比指针好得多,但你也需要对各个参数进行检查。写有参数的函数时,首要工作,就是要对传进来的所有参数进行合法性检查。而对于传出的参数也应该 进行检查,这个动作当然应该在函数的外部,也就是说,调用完一个函数后,应该对其传出的值进行检查。当然,检查会浪费一点时间,但为了整个系统不至于出现 “非法操作”或是“Core Dump”的系统级的错误,多花这点时间还是很值得的。
posted on 2006-02-26 12:47 笑笑生 阅读(186) 评论(0)  编辑 收藏 引用 所属分类: C++语言

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


 
Copyright © 笑笑生 Powered by: 博客园 模板提供:沪江博客