C++ - 在 class 中使用不是 class 对象属性的变量是不好的做法吗?

C++ - Is it bad practice to have variables that are not class object properties inside a class?

假设我有一个 class Sensor 如下所示:

class Sensor
{
    public:
        Sensor();
        array <float, 3> marker_pos(float, float, float);

    private:
        float range;
        float phi;
        array <float, 3> temp;
        int flag = 0;
};

变量rangephi是传感器对象的属性或变量。但是变量 tempflag 只是在函数 marker_pose.

中使用的普通变量

1. define/declare tempflag 在 class 中是不好的做法吗?

2. 如果我在函数 marker_pose 中 define/declare 它们,它会在我每次调用该函数时被定义。这是个好主意吗?

3. 在这种情况下应遵循的最佳做法是什么?

您应该始终在尽可能小的范围内定义变量。所以如果变量只在函数内部使用,它们应该在函数中定义,而不是在 class.

在 C++ 中,您必须尽可能晚地声明变量(即:尽可能深的范围)。

最小化 life span 不同变量可能 增强代码的可见性 简化代码的调试和维护 程序。