C++ Vector of Maps using an iterator how to

前端 未结 2 1209
时光取名叫无心
时光取名叫无心 2021-01-26 12:36

How can I populate a vector of map along with a rowID , or an iterator for each row of a valuepair Set

Like for example

typedef std::map

        
相关标签:
2条回答
  • 2021-01-26 12:56

    in short:

    mapDB_vec.push_back(std::make_pair(0, mapDB_colVal));
    

    longer:

    you don't need that rowID, vector index is good enough

    more longer:

    struct Row {
        std::string x;
        std::string y;
    
        Row(std::string const& x_, std::string const& y_): x(x_), y(y_)
        {}
    };
    
    vector<Row> mapDB_vec;
    mapDB_vec.push_back(Row("Apple", "Red"));
    mapDB_vec.push_back(Row("Pear", "Red"));
    
    0 讨论(0)
  • 2021-01-26 13:01
    mapDB_vec db;
    
    //populate mapDB_colVal 1st row
    mapDB_colVal["X"]="APPLE";
    mapDB_colVal["Y"]="RED";
    db.push_back(make_pair(some_row_id, mapDB_colVal));
    
    //populate mapDB_colVal 2nd row
    mapDB_colVal["X"]="PEAR";
    mapDB_colval["Y"]="RED";
    db.push_back(make_pair(some_other_row_id, mapDB_colVal));
    

    I'm not sure what row IDs you want. If they're just sequential numbers, then they would seem redundant, since vectors allow you to identify elements by their position.

    0 讨论(0)
提交回复
热议问题