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/p/2935911.html