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;
};
变量range
和phi
是传感器对象的属性或变量。但是变量 temp
和 flag
只是在函数 marker_pose
.
中使用的普通变量
1. define/declare temp
和 flag
在 class 中是不好的做法吗?
2. 如果我在函数 marker_pose
中 define/declare 它们,它会在我每次调用该函数时被定义。这是个好主意吗?
3. 在这种情况下应遵循的最佳做法是什么?
您应该始终在尽可能小的范围内定义变量。所以如果变量只在函数内部使用,它们应该在函数中定义,而不是在 class.
在 C++ 中,您必须尽可能晚地声明变量(即:尽可能深的范围)。
最小化 life span
不同变量可能 增强代码的可见性 并 简化代码的调试和维护 程序。
假设我有一个 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;
};
变量range
和phi
是传感器对象的属性或变量。但是变量 temp
和 flag
只是在函数 marker_pose
.
1. define/declare temp
和 flag
在 class 中是不好的做法吗?
2. 如果我在函数 marker_pose
中 define/declare 它们,它会在我每次调用该函数时被定义。这是个好主意吗?
3. 在这种情况下应遵循的最佳做法是什么?
您应该始终在尽可能小的范围内定义变量。所以如果变量只在函数内部使用,它们应该在函数中定义,而不是在 class.
在 C++ 中,您必须尽可能晚地声明变量(即:尽可能深的范围)。
最小化 life span
不同变量可能 增强代码的可见性 并 简化代码的调试和维护 程序。