我有以下代码:
// For each trigger model (_1) (which is just a CString), do:
// m_triggers.push_back(triggers.GetTrigger(static_cast<char const*>(_1)))
boost::transform(
model.Triggers(),
std::back_inserter(m_triggers),
phx::bind(&CTriggerController::GetTrigger, phx::ref(triggers),
phx::static_cast_<char const*>(_1)));
m_triggers
是触发对象的指针向量:
std::vector<CTrigger*> m_triggers;
如果调用CTriggerController::GetTrigger()
返回 NULL(这意味着找不到该名称的触发器),我不想将任何内容推送到我的m_triggers
向量。
有没有一种直接的方法可以通过对我上面的代码进行一些小的修改来做到这一点?
我在 MSVC9 上使用 Boost 1.55.0(仅限 C++03)