R
Hallo Dravere
Brauchst du wirklich ein Array von konstanter Grösse oder sind es nicht eher (z.B.) 6 unterschiedliche Werte, welche man eigentlich besser in 6 unterschiedliche Variablen aufgeteilt hätte, damit man gleich sprechende Namen für die Werte hat?
Na, es gibt doch Fälle, wo man eine feste Anzahl von Kästchen (Plätzen, Töpfchen) hat und diese mit Werten belegt haben will, wenn es der User nicht tut. Man kann ja den std::array auch mit Werten vorbelegen. Wenn ich z.B. schreibe
_a.assign(17.);
dann werden alle Plätze des Arrays mit der Zahl 17 vorbelegt. Jetzt will ich aber nicht lauter gleiche Werte, sondern z.B. die Vorbelegung mit den Werten 3., 2., 1., 3., 2., 1., ... Dieselbe Rechtfertigung, die es für assign() gibt, würde auch für eine solche Initialisierungswunsch gelten.
Wo Du explizit danach fragst, kann ich Dir mein Beispiel schon sagen: Es ist eine astrologische Anwendung. In der Astrologie wird der Tierkreis nicht nur in die zwölf Tierkreiszeichen, sondern auch, beginnend mit dem Aszendenten, in zwölf ungleich grosse Abschnitte, die sogenannten Häuser, geteilt. Jedem Haus wird eine besondere Wertigkeit (Stärke) zugeordnet. Aber jeder Astrologe hat andere Wahlen für die Wertigkeiten dieser Häuser.
Daher bietet meine DLL eine API-Funktion an, mit der diese Werte explizit gesetzt werden können. Wenn jedoch keine Werte gesetzt wurden, müssen bestimmte fest verdrahtete Defaultwerte greifen. Und hierzu verwende ich meinen "konstanten" Array, der wegen C++ leider nicht so konstant sein kann, wie ich das gerne hätte.
http://astropatterns.cvs.sourceforge.net/viewvc/astropatterns/astropatterns/MundanePositions.cpp?revision=1.5&view=markup
Gruss,
Rüdiger