战地1头像显示国旗:[收藏]C++ Tips(4)--参数的检查 - 心如止水--coofucoo的专栏
来源:百度文库 编辑:偶看新闻 时间:2024/05/02 05:02:56
[收藏]C++ Tips(4)--参数的检查 /*这一系列文章《C++ Tips》是公司Code Committee专家会推荐工程师看的,感觉很好,拿出来与大家共同提高。并不是知道多少会使人与人产生差别,真正的差别在于你能做到多少。--coofucoo*/对函数的输入参数进行适当的检查
经常会有这样的程序:
foo(char* str)
{
int len = strlen(str);
……
}
char* GetUserName(struct user* pUser)
{
return pUser->name;
}
No!Please don’t do like that!。你应该先判断一下传进来的那个指针是不是为空(NULL)。如果传进来的指针为空的话,那么,你的一个大的系统就会因为这一个小的函数而崩溃。一种更好的技术是使用断言(assert)。当然,如果是在C++中,使用引用要比指针好得多,但你也需要对各个参数进行检查。写有参数的函数时,首要工作,就是要对传进来的所有参数进行合法性检查。而对于传出的参数也应该进行检查,这个动作当然应该在函数的外部,也就是说,调用完一个函数后,应该对其传出的值进行检查。当然,检查会浪费一点时间,但为了整个系统不至于出现“非法操作”或是“Core Dump”的系统级的错误,多花这点时间还是很值得的。
本文引用通告地址: http://blog.csdn.net/coofucoo/services/trackbacks/480988.aspx
[点击此处收藏本文] 发表于 2005年09月14日 11:22 PM
经常会有这样的程序:
foo(char* str)
{
int len = strlen(str);
……
}
char* GetUserName(struct user* pUser)
{
return pUser->name;
}
No!Please don’t do like that!。你应该先判断一下传进来的那个指针是不是为空(NULL)。如果传进来的指针为空的话,那么,你的一个大的系统就会因为这一个小的函数而崩溃。一种更好的技术是使用断言(assert)。当然,如果是在C++中,使用引用要比指针好得多,但你也需要对各个参数进行检查。写有参数的函数时,首要工作,就是要对传进来的所有参数进行合法性检查。而对于传出的参数也应该进行检查,这个动作当然应该在函数的外部,也就是说,调用完一个函数后,应该对其传出的值进行检查。当然,检查会浪费一点时间,但为了整个系统不至于出现“非法操作”或是“Core Dump”的系统级的错误,多花这点时间还是很值得的。
本文引用通告地址: http://blog.csdn.net/coofucoo/services/trackbacks/480988.aspx
[点击此处收藏本文] 发表于 2005年09月14日 11:22 PM
QQ的tips区别
写三条你的health tips
C语言 main()的参数
C语言中形式参数和实际参数的区别
求有关英语的learning tips
qq的好友资料tips问题
什么是c程序的命令行参数
health tips是什么意思啊,请列出你的3条health tips
收藏文件夹在C盘的什么地方?怎么移动?
哪位有4参数Logistic曲线拟合的算法? pascal最好, C或Basic也可以
我的QQ怎么没有TIPS显示了?
我的QQ怎么没有TIPS资料显示了?
[作业]MIPS(Million Instructions Per Second), GIPS, TIPS的转换?
善于学习的人有那些方法?tips
拍随身听的广告有没有什么tips啊
请列出你的3条health tips
c语言参数
c语言参数类型
tips是什么意思
C语言中initgraph()函数的参数怎么设
一个关于C主函数带参数的问题
c语言的参数类型问题,大家进来看看!
亚洲2号C卫星下华娱卫视的参数是多少?
请问:IE"收藏"中的网页存放在C盘的哪个文件夹(windows xp)