Vettori STL e loro inizializzazioni

di il
2 risposte

Vettori STL e loro inizializzazioni

struct words
{
	char[101] parola;
	int num;
	int canc;
};

vector<words> vet;
Se desidero che gli elementi istanziati del vettore STL sopra indicato abbiamo il valore di canc e num a zero, lo posso fare soltanto in questo modo?
words temp;
temp.num=0;
temp.canc=0;
vet.pushback(temp);
Oppure se conosco già il numero di elementi (ad es. 30) del vettore posso in qualche modo utilizzare
vector<words> vet(30)
C'e' la possibilità di inserire tra i parametri l'inizializzazione del campo num e canc?

2 Risposte

  • Re: Vettori STL e loro inizializzazioni

    A parte il fatto che nella linea

    char[101] parola;

    è sbagliata la sintassi, dato che lavori in C++ con i vector, è più comodo usare le string.

    E quindi la struttura diventa
    
    struct words
    {
    	string parola;
    	int num;
    	int canc;
    };
    
    e l'inizializzazione
    
    	words w = { "", 0, 0 };
    	vector<words> vet(30, w);
    
  • Re: Vettori STL e loro inizializzazioni

    oregon ha scritto:


    A parte il fatto che nella linea

    char[101] parola;

    è sbagliata la sintassi
    Accipicchia!!!! Pardon, errore imperdonabile

    
    	words w = { "", 0, 0 };
    	vector<words> vet(30, w);
    
    Qua in sostanza utilizzi una variabile temporanea di tipo struct con la quale il costruttore di copia inizializzerà l'elemento del vettore, giusto?

    Grazie 1000
Devi accedere o registrarti per scrivere nel forum
2 risposte