Tengo el siguiente struct
en mi código C++ (estoy usando Visual Studio 2010):¿Cómo inicializar una matriz de estructura en C++?
struct mydata
{
string scientist;
double value;
};
Lo que me gustaría hacer es ser capaz de inicializar ellos de una manera rápida, similar a la inicialización del campo de C99 o inicialización de clase en C#, algo á la:
mydata data[] = { { scientist = "Archimedes", value = 2.12 },
{ scientist = "Vitruvius", value = 4.49 } } ;
Si esto no es posible en C++ para una gran variedad de estructuras, puedo hacerlo de una matriz de objetos? En otras palabras, el tipo de datos subyacente para una matriz no es tan importante, es importante que tenga una matriz, no una lista, y que puedo escribir inicializadores de esta manera.
No hay ninguna razón por la que no debería funcionar ... (por cierto, sería '.scientist = ...') ¿Lo has intentado? – fge
¿por qué evitar el bucle? –
@fge Sí, se llama inicialización agregada y se explica con más detalle en detalle [aquí] (http://en.cppreference.com/w/cpp/language/aggregate_initialization) – pfabri