官网地址:(点击最下方【阅读原文】可直达)https://tca.tencent.com/
官网介绍:https://cloud.tencent.com/product/tcap 官方开源:https://github.com/Tencent/CodeAnalysis 国内镜像:https://git.code.tencent.com/Tencent_Open_Source/CodeAnalysis
▼
在C/C++中,成员变量未初始化可能会导致未定义的行为。当声明一个类或结构体时,其中的成员变量默认情况下不会被初始化。这意味着它们的值是未知的,可能是任意的。如果使用未初始化的成员变量,可能会导致程序出现错误或产生不可预测的结果。
通过在声明时进行初始化,可以确保成员变量在使用之前具有已知的初始值,从而避免未定义的行为。
错误示例:
检测结构体被实例化时候,没有对成员变量进行初始化赋值的情况:
#include <iostream>
struct MyStruct {
int num;
float value;
char character;
MyStruct() : num(0), value(0.0f), character('\0') {
// 构造函数中对成员变量进行初始化赋值
}
};
int main() {
MyStruct obj;
std::cout << "num: " << obj.num << std::endl;
//std::cout << "value: " << obj.value << std::endl;
//std::cout << "character: " << obj.character << std::endl;
return 0;
}
▼
▼
进入页面,点击方案->规则配置 -> 自定义规则包-> 添加规则 ->搜索规则名uinit->选择需要添加的规则 ->批量添加规则