Tôi đã sau struct
trong C++ mã của tôi (Tôi đang sử dụng Visual Studio 2010):Cách khởi tạo một mảng cấu trúc trong C++?
struct mydata
{
string scientist;
double value;
};
Những gì tôi muốn làm là để có thể khởi tạo chúng trong một cách nhanh chóng, tương tự như mảng khởi tạo trong C99 hoặc khởi tạo lớp trong C#, một cái gì đó á la:
mydata data[] = { { scientist = "Archimedes", value = 2.12 },
{ scientist = "Vitruvius", value = 4.49 } } ;
Nếu đây là không thể thực hiện trong C++ cho một mảng của cấu trúc, tôi có thể làm điều đó cho một mảng của các đối tượng? Nói cách khác, kiểu dữ liệu cơ bản cho một mảng không quan trọng, điều quan trọng là tôi có một mảng, không phải là một danh sách, và tôi có thể viết các khởi tạo theo cách này.
Không có lý do tại sao nó không hoạt động ... (btw đó sẽ là '.scientist = ...') Bạn đã thử chưa? – fge
tại sao tránh lặp? –
@fge Có, nó được gọi là khởi tạo tổng hợp và được giải thích thêm chi tiết [ở đây] (http://en.cppreference.com/w/cpp/language/aggregate_initialization) – pfabri