C++ - 在类中包含不是类对象属性的变量是否是一种不好的做法
C++ - Is it bad practice to have variables that are not class object properties inside a 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. 在类内定义/声明temp
和flag
是不好的做法吗?
2.如果我在函数marker_pose
中定义/声明它们,则每次调用该函数时都会定义它。这是个好主意吗?
3. 在这种情况下,最佳做法是什么?
应始终在尽可能小的范围内定义变量。因此,如果变量只在函数内部使用,则应在函数中定义它们,而不是在类中定义。
在C++中,您必须尽可能晚地声明变量(即:尽可能深入的范围(。
尽量减少不同变量的life span
可以增强代码的可见性,并简化程序的调试和维护。
相关文章:
- 在C++中使用变量而不是"#define"来指定数组大小是不是一种糟糕的做法?(C错误:在文件范围内
- 有没有一种通用的方法来实现不变量
- 使用类在C++中存储和列出变量/方法是否是一种好的做法
- C++中有没有一种方法可以通过指定列表中的每个成员变量来构造对象
- 为许多类可能需要的所有常量变量制作独立的头文件是否是一种很好的做法?
- 是否有一种方法可以调用一个函数,而不会创建变量,而不会创建变量
- 是否有一种方法可以从文本文件中读取并将单个数据存储为不同的变量
- 是否有一种方法可以编写此短片而不捕获lambda变量
- 是否有一种方法可以修复编译器未找到特定的OPENCV变量/函数
- C++ - 在类中包含不是类对象属性的变量是否是一种不好的做法
- QT信号和时隙将变量传递到另一种形式
- 初始化类成员中的变量是一种不好的做法吗?
- gmock一种接受变量参数的方法
- 是否有一种方法可以在C 中创建一个未知数变量的构造函数
- 是否有一种方法可以将变量列表传递给#Define指令,并导致其通过文字值替换字符串值
- 是否有一种方法可以在运行时识别变量的const修饰符
- c++如何打印另一种类型的变量的String属性的值
- 有没有一种方法可以在Netbeans中的断点处打印变量的值
- 有没有一种方法可以访问for循环块之外的变量
- 有没有一种方法可以将C++数据类型作为变量返回