C ++ - 在类中包含不是类对象属性的变量是不好的做法吗?

时间:2017-04-02 22:42:45

标签: c++ class variables definition

假设我有一个课程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。在课程中定义/声明tempflag是不好的做法?

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

3。在这种情况下,最佳做法是什么?

2 个答案:

答案 0 :(得分:5)

您应始终在尽可能小的范围内定义变量。因此,如果变量仅在函数内使用,则应在函数中定义它们,而不是在类中定义。

答案 1 :(得分:0)

在C ++中,你必须尽可能晚地声明变量(即:尽可能深入)。

最小化life span不同变量可能提高代码的可见性,并简化程序的调试和维护