gpt4 book ai didi

c++ - 有没有办法在模板类中处理可变数量的参数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:18:01 25 4
gpt4 key购买 nike

我有一组回调类,用于处理参数数量可变的回调。现在我有大约 6 个不同的实例来处理不同数量的参数。有没有办法让一个实例可以处理可变数量的参数?最终我希望每个参数都是 POD 类型或类指针或结构指针。有什么想法吗?

template <class T>
class kGUICallBackPtr
{
public:
kGUICallBackPtr() {m_obj=0;m_func=0;}
void Set(void *o,void (*f)(void *,T *));
inline void Call(T *i) {if(m_func) m_func(m_obj,i);}
inline bool IsValid(void) {return (m_func!=0);}
private:
void *m_obj;
void (*m_func)(void *,T *);
};


template <class T,class U>
class kGUICallBackPtrPtr
{
public:
kGUICallBackPtrPtr() {m_obj=0;m_func=0;}
void Set(void *o,void (*f)(void *,T *,U *));
inline void Call(T *i, U *j) {if(m_func) m_func(m_obj,i,j);}
inline bool IsValid(void) {return (m_func!=0);}
private:
void *m_obj;
void (*m_func)(void *,T *,U *j);
};

最佳答案

语言本身还没有,但 C++0x 将支持 variadic templates .

关于c++ - 有没有办法在模板类中处理可变数量的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/154780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com