【发布时间】:2014-05-15 14:15:51
【问题描述】:
所以下面的代码可以编译,但我不确定它是否在做我想要它做的事情...... (VS2010供参考)
// Declarations
typedef std::map<unsigned int, QGF6::GameObject*> localMap;
localMap lMap;
// Code in a function that I might be using with the wrong logic:
lMap.find(p.id)->second->getPhysics()->setLinearVelocity(linVel);
预期逻辑:
在map 中找到等于p.id(另一个无符号整数)的unsigned int 值,然后找到map 的该成员,访问它的第二种数据类型(GameObject*)并执行操作。
所以问题是这是否应该“按预期”工作?它可以编译,但由于我遇到速度错误,我认为这可能是对 std::map 类的误解。
【问题讨论】:
-
UB 如果元素 (
p.id) 未找到。