Wenn ein Zeiger an eine Funktion für schreibgeschützte übergeben wird, dann ist dieser Zeiger ein IN-Parameter.Ist das ein In oder In/Out-Parameter? Doxygen, C++
Wenn ein Zeiger an eine Funktion nur zum Lesen übergeben wird, aber diese Funktion eine Kopie des Zeigers erstellt, um in modulbezogenen Funktionen für schreibgeschützte Operationen darauf zugreifen zu können, ist dieser Zeiger immer noch IN.
Wenn die Funktion den Zeiger immer noch als schreibgeschützt verwendet, aber die anderen modulbezogenen Funktionen den Zeiger für Schreiboperationen verwenden, was macht das den Zeiger? Ein IN-Parameter, aber ohne const? Ein Ein-/Aus-Parameter?
Beispiel von dem, was ich meine:
class SteeringWheel {
public: float rotation;
public: SteeringWheel(void) {
this->rotation = 0.f;
}
};
class Car {
private: SteeringWheel *steeringWheel;
public:
/**
* @param[?] steeringWheel Is the steering wheel in or in/out?
*/
Car (SteeringWheel *steeringWheel) {
this->steeringWheel = steeringWheel;
}
/**
* @param[in] degree Steering amount in degrees.
*/
void steer(float degree)
{
this->steeringWheel->rotation += degree;
}
};
int main(int argc, char **argv)
{
SteeringWheel steeringWheel();
/* car() uses steeringWheel as read only. */
Car car(&steeringWheel);
/* steer() uses steeringWheel from car() to write. */
car.steer(50.f);
return 0;
}