C++ 在向量中的向量上迭代

C++ 在向量中的向量上迭代,c++,loops,vector,C++,Loops,Vector,我试图迭代这个向量,以确定我拥有的一个检查向量中名称的函数是否有效 typedef struct device_t { string id; vector<string> capabilities; } Device; vector<Device> devices = { { .id = "Television", .capabilities = { "audio", "channel" } }, { .id

我试图迭代这个向量,以确定我拥有的一个检查向量中名称的函数是否有效

  typedef struct device_t
    {
        string id;
        vector<string> capabilities;
    } Device;


vector<Device> devices = {
  { .id = "Television", .capabilities = { "audio", "channel" } },
  { .id = "Smart thermostat", .capabilities = { "temperature" } },
  { .id = "Stereo system", .capabilities = { "audio", "music" } },
  { .id = "Kitchen sink", .capabilities = { } },
  { .id = "Paper shredder", .capabilities = { "shredding" } }
};

 vector<Device>::iterator it;

    for (it = devicecheck.begin(); it != devicecheck.end(); it++) {
        std::cout<< *it;
    }
typedef结构设备
{
字符串id;
媒介能力;
}装置;
矢量设备={
{.id=“TV”,.capabilities={“音频”,“频道”},
{.id=“智能恒温器”,.capabilities={“温度”},
{.id=“立体声系统”,.capabilities={“音频”、“音乐”},
{.id=“厨房水槽”,.capabilities={},
{.id=“碎纸机”,.capabilities={“碎纸机”}
};
向量::迭代器;
for(it=devicecheck.begin();it!=devicecheck.end();it++){

std::cout
it->capabilities
是当前迭代器
it
指向的
设备的
std::vector capabilities

for (it = devicecheck.begin(); it != devicecheck.end(); it++) {
    for (auto it2 = it->capabilities.begin(); it2 != it->capabilities.end(); it2++)
    {
        std::cout << *it2 << " "; 
    }
}
for(it=devicecheck.begin();it!=devicecheck.end();it++){
对于(自动it2=it->capabilities.begin();it2!=it->capabilities.end();it2++)
{

std::cout
it->capabilities
是当前迭代器
it
指向的
设备的
std::vector capabilities

for (it = devicecheck.begin(); it != devicecheck.end(); it++) {
    for (auto it2 = it->capabilities.begin(); it2 != it->capabilities.end(); it2++)
    {
        std::cout << *it2 << " "; 
    }
}
for(it=devicecheck.begin();it!=devicecheck.end();it++){
对于(自动it2=it->capabilities.begin();it2!=it->capabilities.end();it2++)
{
标准::cout