给 C++ 专家的一个快速问题:
在我正在处理的项目中,有一个类包含指向向量中对象的指针:
std::vector<object*> objects;
并且有一个向对象添加偏移量的结构(Point2D 显然是 x,y 坐标)
struct DraggedObject{
object* obj;
Point2D offset;
DraggedObject():obj(NULL),offset(Point2D(0,0)){}
};
每当您拖动一个对象时,它会将其添加到如下所示的 std::map 中:
std::map <int, DraggedObject> dragged_objects;
所以我的问题是:有一个循环,我需要在其中移动这些对象,但跳过拖动的对象。我的问题是:有没有办法遍历对象向量并找出对象是否在 dragged_object 地图上?
我正在做这样的事情:
for(std::vector<object*>::iterator it = objects.begin(); it != objects.end(); it++){
if(//Object is not in dragged_objects){
(*it)->move_to( Point2D( //Some point);
}else{
(*it)->move_to (Point2D (//Point of dragged object);
}
但是我不知道如何进行这种比较...
对不起新手问题。