Ho il seguente struct
nel mio codice C++ (sto usando Visual Studio 2010):Come inizializzare un array di struct in C++?
struct mydata
{
string scientist;
double value;
};
Quello che vorrei fare è di essere in grado di inizializzare loro in un modo rapido, simile a l'inizializzazione array in C99 o l'inizializzazione di classe in C#, qualcosa á la:
mydata data[] = { { scientist = "Archimedes", value = 2.12 },
{ scientist = "Vitruvius", value = 4.49 } } ;
Se ciò non è possibile in C++ per una serie di struct, posso farlo per un array di oggetti? In altre parole, il tipo di dati sottostante per un array non è così importante, è importante che io abbia un array, non un elenco e che io possa scrivere gli inizializzatori in questo modo.
Non c'è alcun motivo per cui non dovrebbe funzionare ... (che sarebbe '.scientist = ...') Hai provato? – fge
perché evitare il loop? –
@fge Sì, si chiama inizializzazione di aggregazione ed è ulteriormente spiegato in dettaglio [qui] (http://en.cppreference.com/w/cpp/language/aggregate_initialization) – pfabri