C++随笔001

今天修改项目代码的PCLint告警,有两个印象比较深刻的地方:

1.一个函数,参数有效性校验的代码被提示const value Boolean

NULL==szChar

查看了代码发现szChar其实是个char[]而不是char*,还是个成员变量,

此处的意图应该是用strlen(szChar)==0判断字符数组内容是否为空

2.一个函数的参数是const char *,内部强制转换成了某结构体指针,

然后对结构体成员进行了一系列赋值,提示只是说转换掉了const还赋给变量,

我却对如何修改犹豫起来——如果是赋值给char*可以用const_cast,如果转类型可以用static_cast,

而且还觉得怎么能对一个const参数的值进行修改呢——经同事提醒,此处只是指针是const,内容是可以修改的

 

最烦的莫过于类型转换和没有判断返回值这些告警,这些在进行接口设计和代码编写的时候就应该注意,

到最后再来改这些问题真是事倍功半。

原文链接: https://www.cnblogs.com/zcdqs/archive/2013/02/27/2935911.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++随笔001

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/78986

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午6:48
下一篇 2023年2月9日 下午6:49

相关推荐