修改列表列表



有一个这样的结构:

  std::list<std::list<std::string>> data;

我需要遍历顶级列表,并根据一些标准附加内部列表。像这样的东西:

  std::for_each(data.begin(), data.end(), 
                 [<some variable required for the logic>]
                 (const std::list<std::string>& int_list) {
         if(...) 
              int_list.push_back(...);
  });

您可以看到这段代码是无效的,因为foreach无法修改序列。你建议我做什么(不修改初始数据结构)?

您可以使用基于C++11范围的循环,如:

std::list<std::list<std::string>> data;
for (auto & e : data)
{
    if (some_condition)
        e.push_back(some_data)
}

相关内容

  • 没有找到相关文章

最新更新