【发布时间】:2011-08-15 06:17:14
【问题描述】:
我正在为我的第一个 iPhone 应用程序完成我的服务器,我想实现一个简单的小功能。
如果另一个函数在某个等待期后返回某个值,我想运行一个函数(也可能是方法)。相当简单的概念......对吧?
这是我的基本基础。
template <typename T,class TYP>
struct funcpar{
T (*function)(TYP);
TYP parameter;
funcpar(T (*func)(TYP),TYP param);
funcpar& operator=(const funcpar& fp);
};
这里的目标是能够调用funcpar::function(funcpar::parameter)来运行存储的函数和参数,而不必担心其他任何事情......
当我尝试使用 void* 参数而不是模板时,我无法将内存复制为对象(因为我不知道最终对象将是什么,或者就此而言的开始)当我尝试多个计时器时,每个对象的参数都会更改为传递给新计时器的新参数......使用以前的结构我有一个
问题:
是否可以在类的方法中创建指向此类对象的全包指针?我可以模板化一个方法,而不是整个类吗?它会像函数模板一样工作吗?
我有一个管理类,它拥有这些“工作”的向量,并且可以很好地处理所有事情。我只是不知道如何在结构中使用模板化函数,或者如何在类中的单个方法上使用模板..
我也在我的自定义简单线程池中使用它,它运行得相当好,并且有同样的问题......
我还有一个问题:
我可以在运行之前存储带有参数的函数吗?像toRun = dontrunmeyet(withThisParameter); 这样的东西?我的结构甚至是必要的吗?
我是不是搞错了整个事情?
如果这过于模棱两可,我可以为您设置我的整个上下文代码
【问题讨论】:
标签: class templates function pointers