Ho un vettore dichiarato come variabile globale che devo essere in grado di riutilizzare. Ad esempio, sto leggendo più file di dati, analizzando i dati per creare oggetti che sono poi memorizzati in un vettore.Riutilizzare un vettore in C++
vector<Object> objVector(100);
void main()
{
while(THERE_ARE_MORE_FILES_TO_READ)
{
// Pseudocode
ReadFile();
ParseFileIntoVector();
ProcessObjectsInVector();
/* Here I want to 'reset' the vector to 100 empty objects again */
}
}
Posso ripristinare il vettore di essere "objVector vettore (100)" Da quando è stato inizialmente allocato sullo stack? Se faccio "objVector.clear()", rimuove tutti i 100 oggetti e vorrei avere un vettore con una dimensione di 0. Ho bisogno che sia una dimensione di 100 all'inizio di ogni ciclo.
È necessario conservare gli oggetti o ripristinarli allo stato predefinito? – Macke
Nell'esempio, objVector è assegnato staticamente. Non è allocato nello stack. – Alan
Il tipo di restituzione della funzione principale non è corretto. In C e C++ main deve sempre restituire int (ma se in realtà non si restituisce nulla, C++ e C99 restituiranno automaticamente 0 per te). – Tronic