相关疑难解决方法(0)

如何过滤std :: map中的项目?

我大致有以下代码.这可以更好或更有效吗?也许用std::remove_if?您可以在遍历地图时从地图中删除项目吗?我们可以避免使用临时地图吗?

typedef std::map<Action, What> Actions;
static Actions _actions;

bool expired(const Actions::value_type &action)
{
  return <something>;
}

void bar(const Actions::value_type &action)
{
  // do some stuff
}

void foo()
{
  // loop the actions finding expired items
  Actions actions;
  BOOST_FOREACH(Actions::value_type &action, _actions)
  {
    if (expired(action))
      bar(action);
    else
      actions[action.first]=action.second;
    }
  }
  actions.swap(_actions);
}
Run Code Online (Sandbox Code Playgroud)

c++ boost stl

27
推荐指数
3
解决办法
2万
查看次数

C++跨平台代码

我们将在我们的小团队中开始一个新项目:

  • 它是一个将由我们的其他项目(在Linux和Windows中)使用的库.
  • 它在逻辑上不依赖于平台(它不使用任何系统调用或类似的东西).
  • 它必须在各种平台上编译(至少包括Windows和Linux).

不幸的是,我们的开发人员没有在Windows之外的任何其他平台上编写任何代码!因此,我必须给他们一个"像这样的代码""不像这样的代码"列表,所以代码将保持跨平台.

任何指导?

c++ cross-platform

5
推荐指数
4
解决办法
1882
查看次数

标签 统计

c++ ×2

boost ×1

cross-platform ×1

stl ×1