【发布时间】:2011-10-07 21:36:56
【问题描述】:
我在 Win32 上有这个代码:
Actor* Scene::GetActor(const char* name)
{
StringID actorID(name);
auto actor = find_if(m_actors.begin(), m_actors.end(), [&](Actor* actor){return actor->GetName() == actorID;});
return actor != m_actors.end() ? *actor : NULL;
}
因为无法在 iPhone 上使用 GCC/LLVM Clang 编译它,所以我想从中删除 C++11 功能。有没有其他简单的方法可以在不使用 C++11 特性的情况下使用 STL 算法?我不想在代码中到处声明像这样的比较函数这样的简单函数。
【问题讨论】:
-
不是您问题的直接答案(我会把它留给其他人),但如果您经常进行查找,也许您需要不同的数据结构,例如
std::map。跨度> -
我们是否应该假设
m_actors类似于std::vector<Actor*>(看起来是这样)? -
您是否尝试过包含 Apple LLVM 3.0 的 Xcode 4.2?
-
@trojanfoe/@Roland Illig 启用了 C++0x 的 LLVM 3.0 我有:解析错误...