Array's Initialisieren in einer Klasse
-
Hi,
ich hab da ein Problem, ich habe ein Array in einer Klasse und müsste das Initialisieren, ich hatte mir das so gedacht:
class CTest { public: CTest (void); private: int m_State; int m_Array[3]; }; // *.cpp CTest::CTest (void) : m_State (0) // Kann man das Array hier im Header initialisieren? { // Recht umständlich wenn man ein Array von mehr als 3 Einträgen hat!! m_Array [0] = 1; m_Array [1] = 3; m_Array [2] = 1; }
Gibt es für mein Problem irgendeine Elegante lösung???
-
Nein, eigetnlich nicht. Jedenfaklls nicht, wenn dein Array unregelmäßig gefüllt ist. Du könntets vl aus einer Datei die Daten einlesen oder so.
Oder, wenn sie regelmäßog sind, zum Beispiel immer +1, dann in einer Schleife.Aber, ich glaub im Header geht das nicht. Ich würde auch m_State im Rumpf initialisieren, denn ich glaube, der Header ist für Konstanten und Basisklassenkonstruktoren vorgesehen.
-
*push*
ach das ist doch scheisse! im header soll man doch variablen Initialisieren, so wie es Volkard oft im Forum gesagt hat.
Kommt schon leute, man muss doch son array initialisieren können!
-
Nein, das geht wirklich nicht.
-
ach man... is doch scheisse
-
Soweit ich weiß gibts in PHP dafür eine sogenannte for_each-Schleife, den Selben Namen hat ne Funktion aus <algorithm>, vielleicht hilft dir das.
mfg
Glamdring
-
... sach mal, wie willst du das denn befüllen? Ich meine, wenn du für jedes Element einen unregelmäßigen Wert haben willst, dann sag mir ne Prog-Sprache, die das für dich macht. Ich jedenfalls kenn keine, die meine Gedanken liest und sie ins Array tut...
Also, wie gesagt, es geht wirklich nicht, wenn du irgendwelche bestimmten Werte brauchst. Höchstens eben mit ner Schleife
for(int i = 0; i < MaxElemente; i++)
array[i] = sonstewasansich ist C++ sowieso scheiße, das ist alles zu kompliziert für mich, ich glaub ich nehm doch lieber batch-Programmierung...
-
Maxi2 schrieb:
ansich ist C++ sowieso scheiße, das ist alles zu kompliziert für mich, ich glaub ich nehm doch lieber batch-Programmierung...
Jo mach das, du bist dumm! sau dumm! geh weg, du dummer! Bah bist du dumm!
-
Du solltest statt nem Array lieber nen Vector nehmen, da musst du nicht gleich Werte zuweisen.
Zum befüllen: Wie wärs mit rand, srand und wie sie alle heißenmfg
Glamdring
-
mir ist heut irgendwie langweilig, aber nen bissel spam kann ja nicht schaden...
Mann, wie dumm muss man sein, dmait man sagen kann, dass es scheiße ist, dass man nen Array nicht nur durch Gedankenkraft füllen kann mit ner Progginjg-Sprache, aber das interessiert ja eh keinen...
Wenn *** mal sagen würde wofür er es denn befüllen möchte und womit dann könnte man ja vielleicht heflen... aber so geht dat nciht.
@Glamdrink: vector braucht aber mehr Speicher, und bei nem Array muss man auch nicht gelcih Werte zuweisen...
srand() gibt keinen Zufallswert zurück
Maxi
-
Maxi2 schrieb:
Wenn *** mal sagen würde wofür er es denn befüllen möchte und womit dann könnte man ja vielleicht heflen... aber so geht dat nciht.
Jupp
Maxi2 schrieb:
@Glamdrink: vector braucht aber mehr Speicher, und bei nem Array muss man auch nicht gelcih Werte zuweisen...
Ach man *gleichzuheulenanfang*
Maxi2 schrieb:
srand() gibt keinen Zufallswert zurück
Kann ja mal passieren
mfg
Glamdring
-
:))))))) Wir haben eine unterhaltsame Unterhaltung über 3 Threads verteilt
Ich bevorzuge auch eher List als Vector, denn man kann da schneller Elemente in der Mitte rauslöschen. Und meistens durchläuft man ein Array ja auch linear, ohne Direktzugriff, meistens jedenfalls
-
Maxi2 schrieb:
:))))))) Wir haben eine unterhaltsame Unterhaltung über 3 Threads verteilt
warum nicht?
Ich komm mit dem tippen bloß nicht hinterher und ich vergess dauernd meinen Namen einzugebenMaxi2 schrieb:
Ich bevorzuge auch eher List als Vector, denn man kann da schneller Elemente in der Mitte rauslöschen. Und meistens durchläuft man ein Array ja auch linear, ohne Direktzugriff, meistens jedenfalls:)
bei mir kommts drauf an, wenn ich zwei Elemente bespnders wichtig brauche nehm ich auch ne deque.
mfg
Glamdring