Bevor ich meine Frage stelle, möchte ich im Voraus erwähnen, dass mir bewusst ist, dass dieses Thema viel diskutiert wurde, aber noch einmal, indem ich auf die meisten Antworten schaute, habe ich nicht den richtigen Weg gefunden erreichen, was ich will (wahrscheinlich weil ich etw von den Antworten vermisst habe). Also sage ich, dass ich 20 Mal einen Vektor von Objekten (sagen wir mal von jeder Größe) erstellen möchte, der von globalem Umfang sein sollte (in dem Sinne, dass dies innerhalb einer Klasse gemacht wird und ich möchte, dass diese Vektoren von Objekten außerhalb der Klasse). Also, ich bin wirklich nicht sicher, ob das folgende gilt:Initialisierung des Vektors der Objekte
for (int i =0; i<20; i++)
vector<A> * vec_of_class = new vector<A>(10);
/*where A is the class and I use new to have them in the heap,
so that they won't be local */
Nun, ich weiß, dass dies bedeutet, dass ich besonders vorsichtig sein sollte, sie und vergewissern Sie sich mit der Handhabung, dass ich sie preper löschen, aber ich bin nicht sicher, ob die Operation, die ich mache, gültig ist. Im Allgemeinen möchte ich erreichen, 20 verschiedene Vektoren von Objekt A zu initialisieren, die im globalen Bereich verwendet werden können (die Operation findet innerhalb einer Funktion einer anderen Klasse statt), ich weiß, dass es ein Vektor von Vektoren des Objekts verwendet werden könnte A, aber ich würde gerne herausfinden, wie man diese Art von Operation korrekt durchführt (20 verschiedene Vektoren von Objekt A in der Körperfunktion einer anderen Klasse initialisieren und global verwenden). Ich hoffe, meine Frage war nicht zu verwirrend und Sie könnten mir hier helfen.
Ok, das ist was ich auch dachte, aber wie kann ich dann die Operation richtig machen? – user3111197
Warum nicht einfach "Vektor> vec_of_class (20, Vektor (10));'? –
DimChtz
Ich vermute, dass Sie ein Klassenmitglied wie folgt haben wollen: 'std :: vector> Mitglied {20, std :: vector (10)};'. Et voila, 20 Vektoren mit je 10 Elementen. –