#include #include #include using namespace std; struct mystruct { char c; int i; double d; mystruct(char initial_c, int initial_i, double initial_d) : c(initial_c), i(initial_i), d(initial_d) {} //mystruct(): c(0), i(0), d(0) {} }; typedef map map_t; typedef map_t::value_type pair_t; const pair_t a[] = { pair_t(10, mystruct('A', 10, 3.14)), pair_t(20, mystruct('B', 20, 4.14)) }; const size_t n = sizeof a / sizeof a[0]; int main() { map_t m(a, a + n); //cout << m[20].d << "\n"; map_t::iterator it = m.find(20); if (it != m.end()) { cout << it->second.d << "\n"; } return EXIT_SUCCESS; }