试图尽可能简化情况。所以我有一堂课:
class C
{
int * field;
public:
C() : field(nullptr) {}
void init(int* f) { field = f; }
int getI1() { return *field; }
int getI2() { return *field; }
};
生成 2 个 Lint 警告 613(可能使用空指针 'C::i'...)
我知道调用 getI1() 或 getI2() 时“字段”不会为空。不幸的是我无法在构造函数中初始化它。所以我想禁止 Lint 警告。我可以这样做
class C
{
int * field;
public:
C() : field(nullptr) {}
void init(int* f) { field = f; }
int getI1() { return *field; } //lint !e613
int getI2() { return *field; } //lint !e613
};
但在我的真实情况下:
1) 这样的类相当多,每个类都有很多使用这个指针的函数。
2) 我的管理层不允许我在代码中添加太多 lint 注释。
所以我的问题是:有没有人知道一个命令行选项可以让我告诉 Lint “我知道代码不是最好的,停止检查这个特定的成员变量是否为空”?
类似于 -sem 参数的东西,也许?