C ++设计数据结构

我有一个数据结构-

{"BRAZIL",{ {"IPHONE",{100,100} },{"Ipod",{65,100} } }

我想使用运算符=将数据保存到struct中。我尝试设计map<string,vector<map<string,vector<int>>>>之类的结构,并使用-

price_stock["BRAZIL"] = { { "IPHONE",{ 100,100 } },{ "Ipod",{ 65,100 } } }

但是我无法直接将数据分配到struct中。

js333888 回答:C ++设计数据结构

您缺少大括号:

price_stock["BRAZIL"] = {
    { // first element in vector
        {"IPHONE",{100,100}} // element in inner map
    },{ // second element in vector
        {"IPOD",{65,100}}    // element in inner map
    }
};
,

下面我给出了一个简单的示例,说明如何在C ++中使用结构。

#include <iostream>
#include <string>
#include <map>
#include <vector>

struct prices {
  std::string title;
  int stock;
  int price;
};


int main ()
{
    std::map<std::string,std::vector<prices> > priceMap;
    std::vector<prices> priceVec {{"IPHONE",100,100},{"IPOD",65,100}};
    priceMap["Brazil"] = priceVec;

    for (auto& itemVector : priceMap) {
        for (auto& structItem : itemVector.second) {
            std::cout << structItem.title << ":" << structItem.price << std::endl;
        }
    }
}
本文链接:https://www.f2er.com/3168734.html

大家都在问