萌新求助语法
  • 板块学术版
  • 楼主SfumatoCannon_
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/11/7 23:09
  • 上次更新2023/11/4 01:07:24
查看原帖
萌新求助语法
125429
SfumatoCannon_楼主2021/11/7 23:09

原问题有点复杂,简化一下。

我先定义了一种类:

class Object
{
	double x,y;
    double width,height;
    //... ...
};

接下来有一个函数,它的参数是这个类的指针:

void work(Object* _obj);

我想实现这样的功能:第一次调用的时候,它会针对这个物体设置一个定时器int time;;接下来每一次调用,这个计时器都会自减(即time--;)。当time到达0的时候,再对这个_obj进行操作(即if (time==0) _obj->something=...)。

注意:int time不能定义在Object内部。

正常情况下第一眼就能看出来用static,但这里问题来了:因为static的使用和函数参数无关,所以不管物体指针是怎么样,它都会调用这一个time。这样的话,如果有多个物体都使用这个函数的话,会出现调用混乱的情况。

求问这种问题该如何解决,才能实现我想要的功能/kk

(补充:我目前的做法是在Object内部建立一个map<string,double>,来实现“动态建立变量”,但查找要耗更多的时间,所以觉得不好。)

2021/11/7 23:09
加载中...