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

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

本文关键字:一种 变量 包含不 C++ 属性 对象 是否是      更新时间:2023-10-16

假设我有一个类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. 在这种情况下,最佳做法是什么?

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

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

尽量减少不同变量的life span可以增强代码的可见性并简化程序的调试和维护

相关文章: