Supposons que j'ai une classe Sensor
comme indiqué ci-dessous:C++ - Est-ce une mauvaise pratique d'avoir des variables qui ne sont pas des propriétés d'objet de classe dans une classe?
class Sensor
{
public:
Sensor();
array <float, 3> marker_pos(float, float, float);
private:
float range;
float phi;
array <float, 3> temp;
int flag = 0;
};
Les variables range
et phi
sont des propriétés ou des variables de l'objet de détection. Mais les variables temp
et flag
ne sont que des variables normales qui doivent être utilisées dans la fonction marker_pose
.
1. Est-ce une mauvaise pratique de définir/déclarer temp
et flag
dans la classe? Si je les définis/déclarons à l'intérieur de la fonction marker_pose
, il sera défini à chaque fois que j'appelle cette fonction. est-ce une bonne idée?
3. Quelle sera la meilleure pratique à suivre dans de telles situations?
1. Oui. 2. Oui. 3. Voir 1 et 2. –
Notez que votre code et l'alternative (2) ne sont pas interchangeables: Avec (2), plusieurs appels simultanés de 'marker_pos' se comportent tous indépendamment; avec le code donné, ils font la course. De plus, votre 'marker_pos' n'est pas réentrant. Donc, je dirais que la question n'est pas bien posée. –