当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《有没有办法在模板类中处理可变数量的参数?》经验,为你挑选了1个好方法。

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

template 
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 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);
};

jwfearn.. 5

还没有语言本身,但C++ 0x将支持可变参数模板.



1> jwfearn..:

还没有语言本身,但C++ 0x将支持可变参数模板.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有