Unsere Gruppe ist vor kurzem zu C++ gewechselt. Mein Vorgesetzter ist so freundlich, eine Vorlage zur Verfügung zu stellen, die aus einer Menge von Klassen und relevanten Methoden besteht. Das Problem, das ich gefunden, dass die meisten Methoden eine Menge von Eingabeparametern erfordern, wie folgt aus:Kürzen C++ Funktion Eingangsparameter?
void AdvectionReactionDiffusion::boundary(const arma::Col<double>& n, const arma::Col<double>& u, const arma::Col<double>& uhat, const arma::Col<double>& fhat, arma::Col<double>& fb, arma::Mat<double>& fb_u, arma::Mat<double>& fb_uhat, arma::Mat<double>& fb_fhat) const {}
Also, aus Gründen der besseren Lesbarkeit und weniger menschliche Fehler, ist es gute Möglichkeiten, um diese Eingaben zu verkürzen, ohne das zu Brechen aktuelle Struktur des Codes?
Ich komme aus einem Python-Hintergrund, und was ich in Python tun werde, ist wrap relevanten Eingaben in einem named Tupel und werfen Sie es auf die Funktion. Aber ich habe keine Ahnung, wie man den ähnlichen Trick in C++ anwendet.
Sollten Sie Ihren * Supervisor * (Lehrer?) Diese Frage nicht stellen? –
Möchten Sie optionale optionale Argumente angeben? Trennen Sie die Argumenttypen von der Funktionssignatur? Parametergruppen an eine andere Funktion weiterleiten? –
Diese Funktion hat 4 _out_ Parameter, gibt aber nichts zurück! Es könnte Zeit sein, nur zu sehen, ob Sie die Funktion aufbrechen können. – Tas