【发布时间】:2013-09-02 07:21:40
【问题描述】:
我在我的代码中重复了很多这样的项目:
for (; i != end; ++i) {
if(!restricted(*i))
{
doSomethingWithI(*i)
}
}
有没有更好的方法来做到这一点,也许使用 std 或 boost?
另一个例子:
for (; i != end; ++i) {
if(!restricted(*i))
{
Path p = _pathFactory->build(*i);
Value v = _db->load(p);
std::string output = _styler->style(v);
_output->write(output);
}
}
【问题讨论】:
-
你能做的任何其他事情都会把 if 推到其他地方。我说的保持简单。
-
@Neil Kirk 但这正是我想要的。我希望“如果”在一个地方而不是在我的代码中。这是因为我通常只迭代非限制项。
-
是否可以维护两个数据结构,元素/指针指向受限制/不受限制的元素?