☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

对象初始化不可依赖自身的值

6.7.2 ID_selfDependentInitialization
目录 › next › previous

对象初始化依赖自身的值属于逻辑错误,也是常见的笔误。

示例:

void foo(int i) {
    if (i > 0) {
        int i = i + 1;  // Non-compliant
        ....
    }
}

例中局部变量 i 的初始化依赖自身的值,这种问题往往是错误地定义了与外层作用域中名称相同的对象。

应改为:

void foo(int i) {
    if (i > 0) {
        int j = i + 1;  // OK
        ....
    }
}
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.